滚动到div内的底部会触发警报(纯JavaScript)

滚动到div内的底部会触发警报(纯JavaScript),javascript,Javascript,我知道这里已经有了解决方案,但是大多数解决方案都是用jQuery编写的,JS版本是基于窗口的,但是我需要一个有效的方法 出于个人原因,我需要在纯JavaScript中实现这一点。所以基本上,当用户在div调用a中一直滚动到底部时,我需要触发一个警报,我指的不是窗口的滚动条,只是为了消除混乱 document.querySelector('a').addEventListener('scroll',scrollTrigger); 函数scrollTrigger(){ 如果(??){ 警报(“滚动

我知道这里已经有了解决方案,但是大多数解决方案都是用jQuery编写的,JS版本是基于窗口的,但是我需要一个有效的方法

出于个人原因,我需要在纯JavaScript中实现这一点。所以基本上,当用户在div调用a中一直滚动到底部时,我需要触发一个警报,我指的不是窗口的滚动条,只是为了消除混乱

document.querySelector('a').addEventListener('scroll',scrollTrigger);
函数scrollTrigger(){
如果(??){
警报(“滚动结束”);
}
}
#a{
背景色:红色;
高度:500px;
宽度:500px;
溢出:自动;
}

A.
A.
A.
A.
A.
A.
A.
A.
A.
A.
A.
A.
试试这个

window.onscroll = function(ev) {
    if ((window.innerHeight + window.scrollY) >= document.body.scrollHeight) {
        // you're at the bottom of the page
         console.log("Bottom of page");
     }
};
document.querySelector('a').addEventListener('scroll',scrollTrigger);
函数scrollTrigger(){
var el=这个;
var sc=el.scrollHeight-el.clientHeight-el.scrollTop;
console.clear();console.log(sc)
如果(sc==0){
console.log(“滚动结束”);
}
}
#a{
高度:180像素;
溢出:自动;
}

a---
A.
A.
A.
A.
A.
A.
A.
A.
A.
A.
a---
当 +等于

document.querySelector('a').addEventListener('scroll',scrollTrigger);
函数滚动触发器(e){
常数a=e.currentTarget;
//请使用大于或等于以确保。
if(Math.ceil(a.scrollTop)+a.clientHeight>=a.scrollHeight){
警报(“滚动结束”);
}
}
#a{
背景色:红色;
高度:500px;
宽度:500px;
溢出:自动;
}

A.
A.
A.
A.
A.
A.
A.
A.
A.
A.
A.
A.

谢谢你的回复,我指的是div呼叫,而不是窗口。你知道一个解决方案吗?我如何根据div滚动条而不是窗口滚动条触发此问题?谢谢David的回复。此代码非常有效,在pc上的所有浏览器上都能令人惊讶地工作,在移动android上的浏览器上也能工作,但对于某些用户来说这在Iphone、Ipad等移动safari上不起作用的原因。。。有什么解决方案可以让它在苹果的移动设备上运行吗?这个具体的例子在iOS Safari中不适用吗?对我来说确实如此(在iOS 11.4.1上)。如果您
console.log
a.scrollTop,
a.clientHeight
a.scrollHeight
的值,当您到达底部时,它们是什么?或者您正在使用的标记和样式与示例中的完全不同?如果是这样的话,你能提供一个更准确的版本吗?下面是Codepen上的一个版本,其中有一些日志设置:Ok<如果使用显示比例,则代码>滚动顶部可以给出十进制值。我们可以
Math.round
scrollTop
——也可以使用
Math.ceil
。我会更新答案(和密码笔)。对不起,大卫,我睡着了哇,这些答案越来越近了。谢谢你的回复,我真的很感激,现在它正在Iphone上工作。我早在运行ios 7的iPhone4上就进行了测试,但奇怪的是,在ios 8上的iPad4上,它不起作用。我之所以在那些旧设备和ios版本上尝试它,是因为这是我最愿意支持的。还有什么其他的解决方案可以让它在Ipad上运行吗?哇,太棒了,Roko C.Buljan谢谢你的回复,我不是在忽视你,我只是一个人一个人回复和测试代码。这在我测试过的所有设备上都有效,但在运行Ios 8的iPad4上的mobile safari上不起作用奇怪的是,这在运行Ios 7的iPhone4上有效。Ios 8是我最支持的在Ipad上实现这一功能的想法了吗?@fsofb(不拥有任何一台设备)在尝试将上述功能应用于身体时是否会出现问题?问题是否也出现在溢出的DIV上(如上面的示例中)?