gpt4 book ai didi

javascript - 在内部 div 中捕获滚动

转载 作者:太空宇宙 更新时间:2023-11-04 13:26:10 25 4
gpt4 key购买 nike

我想要实现的是这个,想象一下你有一个高大的页面,里面有几个 div。
tall 页面本身是可滚动的,div 也是。

我想实现的是在滚动div到极限时防止滚动整个页面。
现在发生的情况是,当您通过猛烈滚动到达 div 的末尾时,您开始滚动整个页面。我想防止滚动整个页面,因为这是一个私有(private)元素,底部的元素很少被使用。

div 不是动态生成的,因此我可以对所有内容进行硬编码。

如果可能的话,我真的很想避免使用 jQuery,因为在这种情况下这似乎有点矫枉过正。

//编辑:可以在 http://gnur.nl/demo.html 找到一个小例子。
此演示的预期行为是当您在 bacon div 内滚动时整个页面永远不会滚动。

最佳答案

恐怕这是一场失败的战斗,滚动事件看起来不可取消:

http://www.w3.org/TR/DOM-Level-3-Events/#event-type-scroll

或者可能会绝望地回滚滚动的像素数量:

var lastPos = isNaN(window.pageYOffset) ? 
document.documentElement.scrollTop :
window.pageYOffset;

window.onscroll = function(ev){
var diff = (isNaN(window.pageYOffset) ?
document.documentElement.scrollTop :
window.pageYOffset) - lastPos;
window.scrollBy(0, -diff);
};

并在 DIV 上使用 onmouseoveronmouseout 来阻止或不阻止它。

关于javascript - 在内部 div 中捕获滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6370276/

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