鼠标上下滑翻页动效官网,加入防抖兼容触摸板

实现关键,

1.监听鼠标滚轮事件(这里用到了JQ的mousewheel插件,也可以用原生监听wheel事件),判断上滚动或者下滚动。

$(function(){

            var $screen = $( .pages_con );

            var $pages = $( .pages );

            var $len = $pages.length;

            var $h = $(window).height();

            var timer = null;

            var $nowscreen = 0;

            $pages.css({ height :$h});

                    function pagescroll(event,dat){

                    clearTimeout(timer);

                    timer = setTimeout(function(){

                        if(dat==-1)

                        {

                            $nowscreen++;

                        }

                        else

                        {

                            $nowscreen–;

                        }

                        if($nowscreen<0)

                        {

                            $nowscreen=0;

                        }

                        if($nowscreen>$len-1)

                        {

                            $nowscreen=$len-1;

                        }

                        $screen.animate({ top :-$h*$nowscreen},800);

}

})

2.防抖 (笔记本触摸板也能兼容)

// 防抖并且立即执行

            function debounce(func, wait, immediate) {

                let timer;

                return function() {

                let context = this,

                    args = arguments;

                if (timer) clearTimeout(timer);

                if (immediate) {

                    let callNow = !timer;

                    timer = setTimeout(() => {

                    timer = null;

                    }, wait);

                    if (callNow) func.apply(context, args);

                } else {

                    timer  = setTimeout(() => {

                    func.apply

                    }, wait)

                }

                }

            }

            $(window).mousewheel(debounce(pagescroll,300,true))     true使得触摸板双指上滑/下滑立即执行,再进行防抖计时器,false则会先进行计时器再执行手指事件。

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容