鼠标滚轮事件小demo

Posted mrxxd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了鼠标滚轮事件小demo相关的知识,希望对你有一定的参考价值。

一般很多网站都会有一些这样的效果来提升用户的体验度,返回顶部的功能啊,当然也包括一些顶部的菜单滑动显示隐藏的功能等

也是记录一下以便以后方便拿来用,有需要的也给您提供一份便捷.可能写的不太好,欢迎交流探讨

 

简单的举个栗子:

上滑效果:

技术图片

上滑效果:

技术图片

返回顶部效果:

技术图片

 

记录一些效果:

1,简单的动画实现返回顶部,或者你想要去到的位置

    // 页面返回响应位置
    $(".fixedmodular1").click(function () {
        // 返回.main元素的位置
        let target_top = $(".main").offset().top;
                //设置动画效果,不会中断滚动
        $("html,body").animate({ scrollTop: target_top }, 1000);
                //返回顶部
               //$("html,body").animate({ scrollTop: 0}, 1000);
    })        

感觉这样确实不是很友好,很简单粗暴.

2,返回顶部的图标,显示隐藏,包括顶部的样式也是同样的套路

$(window).scroll(function() {
    var scrolltop = $(this).scrollTop(); //滚动条
    var windowheight = $(this).height(); //可视化窗口高度
    if (scrolltop >= windowheight) {
        $(‘#top‘).show()
    } else {
        $(‘#top‘).hide()
    }
})

3,返回顶部的操作

var timer = null
$(‘#top‘).click(function() {
    timer = setInterval(function() {
        var osTop = document.documentElement.scrollTop||document.body.scrollTop;
        var ispeed = Math.floor(-osTop / 6);
        //获取滚动条距离顶部的高度
        document.documentElement.scrollTop = document.body.scrollTop = osTop + ispeed;
        if (osTop == 0) {
            clearInterval(timer);
        }
    }, 30);
})


//在滚动的过程中滑动鼠标中止滚动,停到当前滚动的位置
window.addEventListener(‘DOMMouseScroll‘, mouseScrollMove,false)
window.addEventListener(‘mousewheel‘, mouseScrollMove,false)

function mouseScrollMove(e) {
    var eM = e.wheelDelta || e.detail;
    var moveLen = Math.max(-1, Math.min(1, eM));
    if (moveLen < 0) { //向下滚动
        clearInterval(timer);
    } else { //向上滚动
        clearInterval(timer);
    }
}
 

 

以上是关于鼠标滚轮事件小demo的主要内容,如果未能解决你的问题,请参考以下文章

Flutter web GestureDetector:检测鼠标滚轮事件

jQuery中有鼠标滚轮事件么?

Java AWT 图形界面编程使用鼠标滚轮放大缩小 Canvas 画布 ( 鼠标滚轮事件监听器 MouseWheelListener )

JS怎么禁止鼠标滚轮的单击 IE下! 注意是滚轮去单击 而不是滚动!

js中如何禁用鼠标滚轮事件?急,在线等!

JavaFX实战:几种事件监听实现,键盘按键事件监听,鼠标滚轮事件监听,鼠标按键事件监听,鼠标移动事件监听