使用jQuery的一页滚动网站

时间:2018-08-02 22:35:03

标签: javascript jquery html5 mousewheel onepage-scroll

Stackoverflow同学们,

我想创建一个页面滚动的网站,但我不想使用任何外部库。因此,我想出了这项技术,它对于本地测试而言效果很好,但是我想知道这段代码是否合乎逻辑,或者在整个网站中可能存在潜在问题。我问是因为在搜索中我没有找到针对一页网站的这种方法,所以我想知道为什么不这样做的原因。所以请指出正确的方向。欢迎任何建议或评论。谢谢你的支持。 https://jsfiddle.net/emalik/xpvt214o/539446/

var current 
$(function() {
    var timerId;

    $('.one-page').bind('DOMMouseScroll mousewheel', function(e){

        e.preventDefault();

        var $current = $('section.current');

        if(e.originalEvent.wheelDelta > 0 || e.originalEvent.detail < 0) {

            //console.log(e.originalEvent.wheelDelta);    
            //console.log("UP");
            $prev = $current.prev();

            if ($prev.length) {

                clearTimeout(timerId);
                timerId = setTimeout(function(){
                    $current.removeClass('current');
                    $prev.addClass('current');    
                    $('body,html').animate({
                        scrollTop: $('.current').offset().top
                    }, 200);         
                }, 200) 
            }
        }

        else{
            //             console.log("DOWN");
            $next = $current.next();
            if ($next.length) {
                clearTimeout(timerId);
                timerId = setTimeout(function(){
                    $current.removeClass('current');
                    $next.addClass('current');
                    $('body,html').animate({
                        scrollTop: $('.current').offset().top
                    }, 200);         
                , 200) 
            }
        }
    });
});

0 个答案:

没有答案