rby*_*rne 5 html javascript jquery scroll setinterval
我在这里建立我的网站:argit.bounde.co.uk
我了解使用它很不好,$(window).scroll();因为它可能会在某些浏览器中引起问题,并且已在此博客文章中阅读了有关它可能引起的问题的信息。
我有一个navCheck包含两部分的功能,修复导航(如果您调整浏览器的大小以使其更窄,您将看到第二个)并选择哪个导航仪应占据“ over”状态。
我对jQuery非常陌生,无法实现John的方法,它不喜欢我将变量放在何处。所以我想setInterval在我的navCheck函数中包含一个,以控制其触发的次数。但是我不能为左边的导航固定功能提供大于1ms的间隔,否则会有明显的跳跃。
我想知道默认情况下.scroll()会多久触发一次,什么才是最好的选择?我是否应该将函数的固定部分移到一个单独的函数上,每隔1ms触发一次,然后保留函数的“ over”部分,每250ms触发一次?还是只是让整个事件每1ms触发一次?而且甚至比标准.scroll()的性能提高
或者同样地,如果您可以帮助我实施Johns解决方案,那也将是向前的一步,因为这样做应该更好,但我不知道如何实现。
你真的不需要计数。答案是“很多”,并且是特定于实现的。
您的目标可能是通过滚动设置状态,然后使用 setTimeout 在循环中检查该状态。
如果你的职能很精简,那么内部scroll|resize|mousemove|etc就没有什么可以阻止你与它们联系在一起。
但当我说“瘦”时,我的意思是
window.onscroll = function (e) {
screen_obj.x = ...;
screen_obj.y = ... ;
};
Run Code Online (Sandbox Code Playgroud)
在此之外进行民意调查。将其设置为 60fps,或任何你想要的。
根据记录,有些浏览器实际上不会给您 1 毫秒,它们只会给您最小的间隔。