jQuery - 在按钮点击时滚动到锚点

时间:2017-05-19 12:36:21

标签: javascript jquery html css anchor-scroll

我试图制作一个简单的脚本来检查用户是否按下了网页上的按钮。如果他这样做,它会检查用户是否滚动过某个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,但显然我还有很长的路要走。我甚至无法弄清楚它冻结整个页面的原因。任何想法为什么会这样?

2 个答案:

答案 0 :(得分:2)

试试这个:

$("#scrollDownBttn").click(function(){            
    $('html, body').animate({
            scrollTop: $("#pinkRegion").offset().top
        }, 500);
});

答案 1 :(得分:0)

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

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


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

        }
        else{

        }


});

无需使用croll事件