请问在一个高度固定的盒子内部实现这种效果吗?目前点击导航回到浏览器的顶部,我想实现点击之后相应的模块回到一个高度固定的盒子顶端而不是整个浏览器的顶部。菜鸟的js不精,见谅
感谢分享,我看了下代码,我觉得bindInterval这个函数内可能有些问题,虽然说在调用这个函数之前调用了unbindInterval来清除这个计时器,不过在bindInterval这个函数体内,也就是这段:
self.$win.on('scroll.onePageNav', function() { self.didScroll = true; }); self.t = setInterval(function() { docHeight = self.$doc.height(); //If it was scrolled if (self.didScroll) { self.didScroll = false; self.scrollChange(); } //If the document height changes if (docHeight !== self.docHeight) { self.docHeight = docHeight; self.getPositions(); } }, 250);
并没有清除的代码,也就是说一旦进入这个计时器,就没办法终止了。个人觉得这个计时器没有必要,可以去掉。