From 6e3339083c1cc91159fbb74f5e6a2ac5159bc4f6 Mon Sep 17 00:00:00 2001 From: Mohammed Al-yaseen Date: Thu, 15 May 2025 01:13:25 +0300 Subject: [PATCH] Improve click-scroll functionality by adding checks for section existence before accessing offsets, enhancing robustness against missing elements. Update scroll event handling for better performance and reliability. --- js/click-scroll.js | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/js/click-scroll.js b/js/click-scroll.js index cdfe8ec..32b606d 100644 --- a/js/click-scroll.js +++ b/js/click-scroll.js @@ -5,29 +5,35 @@ var sectionArray = [1, 2, 3, 4, 5]; $.each(sectionArray, function (index, value) { $(document).scroll(function () { - var offsetSection = $("#" + "section_" + value).offset().top - 90; - var docScroll = $(document).scrollTop(); - var docScroll1 = docScroll + 1; + var section = $("#" + "section_" + value); + if (section.length) { // Check if section exists + var offsetSection = section.offset().top - 90; + var docScroll = $(document).scrollTop(); + var docScroll1 = docScroll + 1; - if (docScroll1 >= offsetSection) { - $(".navbar-nav .nav-item .nav-link").removeClass("active"); - $(".navbar-nav .nav-item .nav-link:link").addClass("inactive"); - $(".navbar-nav .nav-item .nav-link").eq(index).addClass("active"); - $(".navbar-nav .nav-item .nav-link").eq(index).removeClass("inactive"); + if (docScroll1 >= offsetSection) { + $(".navbar-nav .nav-item .nav-link").removeClass("active"); + $(".navbar-nav .nav-item .nav-link:link").addClass("inactive"); + $(".navbar-nav .nav-item .nav-link").eq(index).addClass("active"); + $(".navbar-nav .nav-item .nav-link").eq(index).removeClass("inactive"); + } } }); $(".click-scroll") .eq(index) .click(function (e) { - var offsetClick = $("#" + "section_" + value).offset().top - 90; - e.preventDefault(); - $("html, body").animate( - { - scrollTop: offsetClick, - }, - 300 - ); + var section = $("#" + "section_" + value); + if (section.length) { // Check if section exists + var offsetClick = section.offset().top - 90; + e.preventDefault(); + $("html, body").animate( + { + scrollTop: offsetClick, + }, + 300 + ); + } }); });