jQuery窗口滚动停止触发用户滚动
jQuery window scroll stop firing as user scrolls
当用户向下滚动一定数量的像素时,我修复标题。但是,是否有一种方法可以在用户满足逻辑后停止调用窗口滚动函数?我认为这对性能不利。查看我的控制台截图(http://d.pr/i/OHDX)
$window.scroll(function() {
if ($window.scrollTop() > 100) {
$('.header').addClass('fixed');
console.log('fix header');
}
else {
$('.header').removeClass('fixed');
console.log('unfix header');
}
}
您必须不断检查滚动位置。我猜当用户滚动到100时,您会想要取消修复它?
当前的实现在性能方面很好。您可以添加的一件事是检查类是否已经添加,或者保留一个开关,以便您知道是否存在类(而不是检查)。
$window.scroll((function() {
var fixed = false, elem;
return function () {
var should_fix = $window.scrollTop() > 100;
elem = elem || $('.header');
if (should_fix !== fixed) {
if (should_fix) {
elem.addClass('fixed');
console.log('fix header');
} else {
elem.removeClass('fixed');
console.log('unfix header');
}
fixed = should_fix;
}
};
}()) // immediate invocation, because it's awesome
相关文章:
- javascript跨浏览器确定用户是否滚动到页面底部
- javascript移动交叉浏览器确定用户是否滚动到页面底部
- jQuery:如何检测用户何时再次滚动到顶部
- 当用户已经向下滚动页面时,我如何导航到锚标记
- 在用户用动画滚动175像素后缩小固定的Div
- 如何发现用户是否使用jQuery滚动到HTML容器的末尾
- 如何检测用户何时在主动滚动
- 当用户滚动到页面的某个部分时,如何触发关键帧
- 如何让左侧导航跟随用户向下滚动页面
- 如何检测用户是否移动了滚动条
- 当用户将鼠标移到屏幕/图表上时,自动滚动将暂停.如果鼠标移动停止,自动滚动将再次恢复
- 下一个/上一个锚链接,如何在用户滚动时更新下一个/上一个链接
- 在用户滚动时加载单个页面网站的不同部分
- 当用户滚动到底部时,Ajax函数会多次触发
- 用户向下滚动时自动垂直展开
- 如何制作HTML小部件“;跟随“;当用户在页面上下滚动时,保持可见
- 当用户向下滚动我的网页时,如何删除chrome地址栏周围的边框
- 如何使用jquery自动滚动用户
- 防止页面重新加载后退按钮(使用缓存).或者向下滚动用户.(至少在iPhone上发行)
- 强制垂直滚动用户操作显示为水平滚动