快速简单的jQuery滚动问题
Quick and easy jQuery scroll question
我正在开发一个网站,当用户到达页面中的某些部分时,该网站会将某些类添加到主体中。因此,我必须将一个函数绑定到滚动事件。
像这样缓存scrollTop()
更好吗(简短的例子,实际功能更长):
scrollcheck: function() {
var top = main.documentquery.scrollTop();
if(top > 60) {stuff}
if(top > 220) {more stuff}
或者在所有情况下都只使用main.documentquery.scrollTop()
?
(documentquery
就是$(document)
,我记得缓存很好,但我不确定scrollTop()
)
是的,最好缓存它,但也最好限制对该函数的调用。这可能会对性能产生更大的影响。特别是,我将使用一种超时模式,如下所示:
(function() {
var _timeout = null;
function onScrollHandler() {
if (_timeout) {
clearTimeout(_timeout);
}
_timeout = setTimeout(function() {
_timeout = null;
realScrollcheck();
}, 500);
}
$(window).scroll(onScrollHandler);
})();
在最后一次滚动后,您的函数(此处称为realScrollcheck
)将有半秒的延迟运行,但在99%的情况下,这是可以接受的。空闲时调整超时。:-)
是。最好存储该值,而不是每次都调用它。
相关文章:
- Safari(Mac OS)上的jQuery平滑滚动问题
- jquery平滑滚动问题
- Wordpress中奇怪的滚动问题
- CSS 溢出的滚动问题:滚动 HTML
- 移动safari浏览器的滚动问题
- JQuery在滚动问题上添加类
- 多个引导模式的滚动问题
- jQuery自动完成滚动问题
- 可拖动弹出-滚动问题
- Jquery浏览器滚动问题
- 数据表垂直滚动问题
- IE 的画布外滚动问题
- jQuery fadeOut / fadeIn Chrome 中的滚动问题
- 基础 - 画布外滚动问题
- 灯箱演变防止窗口滚动问题
- 触摸事件的挖空事件绑定导致滚动问题
- 冻结列垂直滚动问题
- 单页滚动问题
- 三.JS - 火狐浏览器的滚动问题
- 在滚动问题上向下滑动菜单