我想知道什么是scrollTop和使用jQuery。但是,它总是显示0。
下面是我的jQuery代码:
var scrollTop = $(window).scrollTop()
//onscroll
window.onscroll = function (e) {
console.log(scrollTop);
}
字符串
如果需要,我还可以添加HTML和CSS代码。
我尝试使用JavaScript:
var scrollTop = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop;
//onscroll
window.onscroll = function (e) {
console.log(scrollTop);
}
型
但是,一样。
如果答案不是用jQuery写的就更好了。
3条答案
按热度按时间xfb7svmp1#
scrollTop的值未在onscroll事件处理程序中动态更新。相反,它只在脚本最初运行时分配一次。也许这个?
使用jQuery:
字符串
纯JS:
型
cyvaqqii2#
scrollTop
最初会被设置为0,然后每次记录它时,它都会使用该值。如果您想要
scrollTop
的新值,则需要重新计算。将计算放在绑定到window.onscroll
的函数中。plupiseo3#
您的
scrollTop
变量已初始化,但它不会在onscroll
函数中更新,这就是它保持不变的原因。说明:每次移动光标时,都会调用onscroll
函数,其状态(位置:e.pageY
)存储在onscroll
函数的变量e
中。下面是一个使用jQuery在Scroll上获取光标/指针位置的方法:
字符串