如何修改以下代码以检测滚动到首页。
window.onscroll = function(ev) {
if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) {
alert(bottom);
}
};
编辑:
我正在为 Windows Phone 8 BTW 开发 IE 10
如何修改以下代码以检测滚动到首页。
window.onscroll = function(ev) {
if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) {
alert(bottom);
}
};
编辑:
我正在为 Windows Phone 8 BTW 开发 IE 10
设法弄清楚了。这是我的代码:
window.onscroll = function() {
var body = document.body; //IE 'quirks'
var document = document.documentElement; //IE with doctype
document = (document.clientHeight) ? document : body;
if (document.scrollTop == 0) {
alert("top");
}
};
检查它运行:
window.onscroll = function(ev)
{
var B= document.body; //IE 'quirks'
var D= document.documentElement; //IE with doctype
D= (D.clientHeight)? D: B;
if (D.scrollTop == 0)
{
alert("top");
}
};
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
此代码如何工作的说明:
window.onscroll
是将onscroll 事件分配给window
元素的命令。现在,当滚动元素的滚动条时
onscroll
触发事件。,在这种情况下,元素将是它本身。window
现在,
function
将在事件触发时调用。在函数中,我们将“document.body”获取为 en IE 是获取它的方式。在此之后,如果有文档类型,我们将获得 documentElement。
然后,这一行是在
document.clientHeight
通知时在文档或正文之间进行选择的行。如果被告知,它将把文件放在可变文件上。如果没有,它将把身体本身。在此之后,它将检查 scrollTop属性以了解当前滚动位置是否在“顶部”
window.scrollY
根据 MDN不是跨浏览器。在 IE<9 上,您必须检查document.body.scrollTop
,因为没有 的属性window
会给您当前的滚动位置。实际上,document.body.scrollTop
这是我最常使用的,因为根据我的经验,它确实有效。
if (document.body.scrollTop == 0 || document.documentElement.scrollTop == 0)
{
alert("top");
}
为我工作
仅使用 JS 执行此操作的最佳方法是以下示例添加事件侦听器:
var el = document.getElementById('PUT_YOUR_TOP_ELEMENT_ID_HERE');
el.addEventListener('scroll', function(event) {
if (event.target.scrollTop === 0) {
alert('Top of page detected');
}
}, false);
它真的很简单:
$(window).on('scroll', function () {
let scrollAmount = window.scrollY;
console.clear()
console.log(scrollAmount)
});
接受的答案给了我一个错误,说“文档未定义”。所以这是我的解决方案。
window.onscroll = function(ev) {
if ((window.innerHeight + window.pageYOffset) == window.innerHeight) {
alert(top);
}
};
这将检查 innerHeight + pageYOffset = innerHeight。这意味着您还可以使用:
window.onscroll = function(ev) {
if (window.pageYOffset == 0) {
alert(top);
}
};
两者都为我工作。