niceScroll 在iframe中鼠标滚轮滚动父页面不跟随

2017-10-31  本文已影响592人  一沭丶

在iframe的页面底部。body结束标签前添加如下代码:

(function() {

    var body = document.body;
    var parent = window.parent;

    if (parent && ("createEvent" in document)) {

        var isoldie = ("documentMode" in document);  // 11-
        var ismsedge = ("msCredentials" in window);  // MS Edge 14+

        function onwheel(e) {

            var evt = document.createEvent("MouseEvents");
            evt.initEvent('wheel', true, true);
            evt.deltaMode = e.deltaMode;
            evt.deltaX = e.deltaX;
            evt.deltaY = e.deltaY;
            evt.deltaZ = e.deltaZ;
            evt.wheelDelta = e.wheelDelta;
            evt.wheelDeltaX = e.wheelDeltaX;
            evt.wheelDeltaY = e.wheelDeltaY;

            //如果父页面是$('html').niceScroll();用这个
            //parent.dispatchEvent(evt);

            //如果要使父页面的某个滚动条触发,则用下面这个,id换一下
            parent.document.getElementById('content-right').dispatchEvent(evt);
        }

        body.addEventListener("wheel",onwheel);

    }

})();

参考:https://github.com/inuyaksa/jquery.nicescroll/issues/322

上一篇下一篇

猜你喜欢

热点阅读