कक्षा को जोड़ने के लिए एक विशिष्ट div (ओवरफ़्लो छुपा) तक पहुंचने पर कक्षा को हटाएं

मैं fullpage.js का उपयोग कर एक पूर्ण पृष्ठ वेबसाइट विकसित कर रहा हूं। मेरे पास एक निश्चित नौसेना बार है। मैं एक सीएसएस वर्ग जोड़कर और हटाकर नेविबार पर लोगो बदलना चाहता हूं। मैंने इस कोड को आजमाया है:

function sticky_relocate() {
  var window_top = $(window).scrollTop();
  var div_top = $('#sticky-anchor').offset().top;
  if (window_top > div_top)
    $('#sticky').addClass('stick')
  else
    $('#sticky').removeClass('stick');
}

$(function() {
  $(window).scroll(sticky_relocate);
  sticky_relocate();
});

लेकिन यह काम नहीं कर रहा है अतिप्रवाह के कारण हो सकता है: fullpage.js और $ (window) में उपयोग किया गया छुपा .scrollTop() हर समय 0 मान देता है।

किसी के पास कोई समाधान है (मैं jQuery के लिए नया हूँ)?

Edit: Code is working fine if I don't use fullpage.js plugin. fullpage.js uses overflow:hidden and position:relative in body tag to hide scrollbar. example website http://alvarotrigo.com/fullPage/

0
उन उद्देश्यों के लिए आपको कॉलबैक afterLoad या onLeave का उपयोग करना चाहिए। इस उदाहरण पर एक नज़र डालें जिसमें मेनू फीका हुआ है या स्लाइड के आधार पर: jsfiddle.net/J8hqM/8
जोड़ा लेखक Alvaro, स्रोत
जोड़ा लेखक Mr. Polywhirl, स्रोत

1 उत्तर

ऐसा हो सकता है कि स्क्रॉलबार शरीर पर नहीं बल्कि किसी अन्य तत्व पर है, यदि यह मामला है तो:

सीधे स्क्रॉलबार पर निरीक्षण तत्व का उपयोग कर स्क्रॉलबार में कौन सा तत्व है पता लगाएं।

फिर window.scrollTop() के बजाय (स्क्रॉलबार के साथ तत्व) .scrollTop() प्राप्त करें

बदलने के

var window_top = $(window).scrollTop();

साथ में

var साथ मेंScrollbar = $('#elementसाथ मेंScrollbar');
var window_top = $(साथ मेंScrollbar).scrollTop();
0
जोड़ा
एनओपी, उसे प्लगइन कॉलबैक का उपयोग करने की जरूरत है।
जोड़ा लेखक Alvaro, स्रोत