我有一个 div,它的 overflow 属性被设置为 scroll。我得到了想要的滚动条。但是当使用鼠标滚轮滚动 div 时,当到达 div 内容的顶部或底部时,它会滚动整个页面。
如何根据悬停的位置,仅滚动 div 或整个页面?
如何根据悬停的位置,仅滚动 div 或整个页面?
首先,我认为您无法覆盖滚动事件。因此,这是我会做的事情。我不懂jquery,但这里有一些直接的javascript代码。
document.getElementById('scrollDiv').onmouseover=function(){
document.getElementByTagName('body')[0].style.overflow='hidden';
}
document.getElementById('scrollDiv').onmouseout=function(){
document.getElementByTagName('body')[0].style.overflow='';
}
显然,你可以稍微调整一下,但这是基本思路。此外,如果需要,您可以执行其他测试用例。例如,如果div具有焦点,则执行相同操作。这取决于您的设置。