【发布时间】:2022-10-07 18:58:56
【问题描述】:
功能是当用户读完文章(向下滚动)时,会弹出提示“你读完了!”
但是当功能被触发时如何禁用该功能呢?否则用户再次向下滚动,警报将再次弹出...
window.onscroll = function() {
let trigger = true;
if (trigger && window.innerHeight + window.scrollY >= document.body.offsetHeight) {
trigger = false;
alert(\'You finish reading!\');
} else {
return null;
}
};
-
您应该使用
IntersectionObserver而不是在onscroll上安装阻塞事件处理程序并检查window/document成员。 -
移动第一个
let trigger = true外部事件处理程序 - 每次事件发生时您都会重置标志 -
我还会回应 @Dai 的 cmets 关于您在此处使用的方法,并补充说可以删除
else语句。
标签: javascript disable