gpt4 book ai didi

javascript - scrollTop 总是返回 0

转载 作者:数据小太阳 更新时间:2023-10-29 04:01:24 25 4
gpt4 key购买 nike

我试过使用 scrollTop 和 scrollTop() 并且它总是返回 0。怎么会这样,我试过这样:

Template.myHome.events({
"click .examine": function(event){
event.preventDefault();

varPos = event.clientY;
var yPos = document.body.scrollTop;
console.log("Y coords: " + yPos);
}
});

以及在 body 标签内和包括 body 标签的几个 div 上使用 JQuery 版本,再次全部给我 0 或 null。

我只想获取用户向下滚动页面时在 y 轴上遍历的像素数。

最佳答案

根据实现,滚动文档的元素可以是 <html><body> .

CSSOM View 介绍 document.scrollingElement (参见 mailing thread ),它返回适当的元素:

document.scrollingElement.scrollTop;

或者,您可以使用 window.scrollY window.pageYOffset .它们是别名并返回相同的值,但后者有更多的浏览器支持。

对于不支持上述任何一种的浏览器,您可以检查这两个:

document.documentElement.scrollTop;
document.body.scrollTop;

var scrollTests = document.getElementById('scrollTests');
var tests = [
"document.body.scrollTop",
"document.documentElement.scrollTop",
"document.scrollingElement.scrollTop",
"window.scrollY",
"window.pageYOffset"
];
for(var i=0; i<tests.length; ++i) {
var p = scrollTests.appendChild(document.createElement('p'));
p.appendChild(document.createTextNode(tests[i] + ' = '));
p.appendChild(document.createElement('span')).id = tests[i];
}
window.onscroll = function() {
for(var i=0; i<tests.length; ++i) {
try{ var val = eval(tests[i]); }
catch(err) { val = '[Error]'; }
document.getElementById(tests[i]).innerHTML = val;
}
};
#scrollTests {
position: fixed;
top: 0;
}
body:after {
content: '';
display: block;
height: 999999px;
}
<div id="scrollTests"></div>

关于javascript - scrollTop 总是返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36227559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com