当鼠标位于固定div上方时,滚动底层div的方法吗?

问题是如此之久,以至于想出一个总结它的标题被证明是棘手的。

所以无论如何。我有一个div具有overflow: auto和经常不流过这样滚动条上出现。然后我有一个div具有position:

fixed,并位于内容顶部的div

现在,当我div在html主体本身上有固定位置时,只要将鼠标悬停在html主体上,就可以使用滚轮滚动文档div。前面提到的不太幸运div

有没有一种方法可以滚动div“固定位置”中的“位置”?

我注意到,即使在固定div上捕获滚动事件也不是一件容易的事。除非固定的div本身是可滚动的,否则不会触发该事件。

做了一个简单的jsFiddle,为了方便起见,我剥离了所有我尝试过的JavaScript。

编辑:我需要使用固定的div保留其他鼠标功能,因此关闭指针事件并不是我的解决方案。

回答:

var fixedElement = document.getElementById(“fixed”);

function fixedScrolled(e) {

var evt = window.event || e;

var delta = evt.detail ? evt.detail * (-120) : evt.wheelDelta; //delta returns +120 when wheel is scrolled up, -120 when scrolled down

$("#content").scrollTop($("#content").scrollTop() - delta);

}

var mousewheelevt = (/Gecko\//i.test(navigator.userAgent)) ? "DOMMouseScroll" : "mousewheel";

if (fixedElement.attachEvent)

fixedElement.attachEvent("on" + mousewheelevt, fixedScrolled);

else if (fixedElement.addEventListener)

fixedElement.addEventListener(mousewheelevt, fixedScrolled, false);

以上是 当鼠标位于固定div上方时,滚动底层div的方法吗? 的全部内容, 来源链接: utcz.com/qa/413341.html

回到顶部