微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 当鼠标位于固定div顶部时,滚动底层div的方法?

问题是如此之长,提出一个总结它的标题是棘手的.

所以无论如何.我有一个div已经溢出:自动,并且频繁地流过,所以滚动条出现.然后我有一个div位置:固定并位于内容div的顶部.

现在,当我有一个固定位置的div在html身体本身,当我把鼠标悬停在div上时,我可以用滚轮滚动文档.不是很幸运与上述div.

有没有办法滚动div“通过”固定位置?

我注意到,即使在固定的div上捕捉滚动事件也不容易;该事件不会被解除,除非固定的div本身是可滚动的.

我做了一个简单的jsfiddle here,为了您的方便,剥离了我所尝试的所有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);

jsFiddle Demo – 滚动!

原文地址:https://www.jb51.cc/js/154548.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐