2

我试图制作一个简单的脚本来检查用户是否按下了网页上的按钮。如果他这样做了,它会检查用户是否滚动过某个 div,如果他这样做了,则页面滚动到另一个页面,否则什么也不会发生。

从技术上讲,我的代码可以工作,因为它将 DOM 滚动到锚点,但作为副作用,它会阻止您在滚动后滚动。

$("#scrollDownBttn").click(function(){

    var mainOffset = $("#pinkRegion").offset().top;

    $(document).on('scroll', function() {
        if ( $(document).scrollTop() > mainOffset ) {
                $(document).scrollTop( $("#brownRegion").offset().top );

        }
        else{

        }

    });
});

我试图习惯 jQuery,但显然我还有很长的路要走。我什至无法弄清楚为什么它会冻结整个页面。任何想法为什么会这样?

4

2 回答 2

2

尝试这个:

$("#scrollDownBttn").click(function(){            
    $('html, body').animate({
            scrollTop: $("#pinkRegion").offset().top
        }, 500);
});
于 2017-05-19T12:39:46.847 回答
1
$("#scrollDownBttn").click(function(){

    var mainOffset = $("#pinkRegion").offset().top;


        if ( $(document).scrollTop() > mainOffset ) {
                $(document).scrollTop( $("#brownRegion").offset().top );

        }
        else{

        }


});

无需使用滚动事件

于 2017-05-19T12:40:38.510 回答