1

嗨 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) 
            }
        }
    });
});
4

0 回答 0