Changed around line 1
+ // Smooth scrolling for anchor links
+ document.querySelectorAll('a[href^="#"]').forEach(anchor => {
+ anchor.addEventListener('click', function (e) {
+ e.preventDefault();
+ document.querySelector(this.getAttribute('href')).scrollIntoView({
+ behavior: 'smooth'
+ });
+ });
+ });
+
+ // Lazy loading for images
+ document.addEventListener("DOMContentLoaded", function() {
+ let lazyImages = [].slice.call(document.querySelectorAll("img.lazy"));
+
+ if ("IntersectionObserver" in window) {
+ let lazyImageObserver = new IntersectionObserver(function(entries, observer) {
+ entries.forEach(function(entry) {
+ if (entry.isIntersecting) {
+ let lazyImage = entry.target;
+ lazyImage.src = lazyImage.dataset.src;
+ lazyImage.classList.remove("lazy");
+ lazyImageObserver.unobserve(lazyImage);
+ }
+ });
+ });
+
+ lazyImages.forEach(function(lazyImage) {
+ lazyImageObserver.observe(lazyImage);
+ });
+ } else {
+ // Fallback for browsers without IntersectionObserver support
+ lazyImages.forEach(function(lazyImage) {
+ lazyImage.src = lazyImage.dataset.src;
+ });
+ }
+ });