Javascript 捕获内部div中的滚动
我想实现的是,想象你有一个高的页面,其中有几个div。Javascript 捕获内部div中的滚动,javascript,html,css,Javascript,Html,Css,我想实现的是,想象你有一个高的页面,其中有几个div。 高页本身是可滚动的,div也是如此 我想要实现的是在将div滚动到极限时防止滚动整个页面。 现在发生的情况是,当您通过剧烈滚动到达div的末尾时,您开始滚动整个页面。我想防止滚动整个页面,因为这是一个私人项目,底部的项目很少被使用 div不是动态生成的,因此我可以硬编码所有内容 如果可能的话,我真的希望避免使用jQuery,因为在这种情况下这似乎有点过分了 //编辑: 一个小例子可以在 此演示的预期行为是,当您在bacon分区内滚动时,整个
高页本身是可滚动的,div也是如此 我想要实现的是在将div滚动到极限时防止滚动整个页面。
现在发生的情况是,当您通过剧烈滚动到达div的末尾时,您开始滚动整个页面。我想防止滚动整个页面,因为这是一个私人项目,底部的项目很少被使用 div不是动态生成的,因此我可以硬编码所有内容 如果可能的话,我真的希望避免使用jQuery,因为在这种情况下这似乎有点过分了 //编辑: 一个小例子可以在
此演示的预期行为是,当您在bacon分区内滚动时,整个页面不会滚动。恐怕这是一场失败的战斗,滚动事件看起来不可取消: 或者可能是一个不顾一切的黑客,想要向后滚动滚动的像素数量:
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上使用
onmouseover
和onmouseout
来防止它。你能演示一下吗?在没有演示的情况下,很难分析到底发生了什么?这是带有overflow:auto或overflow:scroll set的div的正常行为,至少对于桌面浏览器是这样。所以你显然是想做一些更复杂的事情。但是什么呢?