如何自定义鼠标滚动时窗口滚动距离

  鼠标滚轮滚动时,如何控制窗口滚动的距离,而不是使用浏览器默认的滚动距离。

 

  解决办法:添加鼠标滚轮事件,阻止浏览器默认的滚动事件,然后通过设置body或者documentElement的scrollTop来滚动页面。

 

  自定义鼠标滚动时窗口滚动距离源代码如下

<div style="height:3000px"></div>
<script>
    var firefox = navigator.userAgent.indexOf('Firefox') != -1;
    function MouseWheel(e) {
        ///对img按下鼠标滚路,阻止视窗滚动
        e = e || window.event;
        if (e.stopPropagation) e.stopPropagation();
        else e.cancelBubble = true;
        if (e.preventDefault) e.preventDefault();
        else e.returnValue = false;
        var isUp = (firefox && e.detail < 0) || (!firefox && e.wheelDelta>0)
       
        var st = Math.max(document.body.scrollTop, document.documentElement.scrollTop);
        document.body.scrollTop = document.documentElement.scrollTop = st + (isUp ? -10 : 10);//一次滚动10px
    }
    window.onload = function () {
        firefox ? document.addEventListener('DOMMouseScroll', MouseWheel, false) : (document.onmousewheel = MouseWheel);
    }
</script>

 

加支付宝好友偷能量挖...


原创文章,转载请注明出处:如何自定义鼠标滚动时窗口滚动距离

评论(0)Web开发网
阅读(699)喜欢(1)JavaScript/Ajax开发技巧