返回页首按钮问题(可能)?

时间:2015-12-01 14:54:20

标签: javascript jquery button

我已经在我的网页上显示了一个回到顶部的按钮,我正在努力。向下滚动时,有时单击它会跳到顶部,然后跳回到你在页面上的位置,然后顺畅地滚动到顶部,就像它应该的那样。请记住,它不会一直这样做。这只是一个滞后或故障问题,还是我的脚本中有错误?

    $(function(){

    $(document).on( 'scroll', function(){

        if ($(window).scrollTop() > 615) {
            $('.ion-android-arrow-dropup-circle').addClass('show');
        } else {
            $('.ion-android-arrow-dropup-circle').removeClass('show');
        }
    });

    $('.ion-android-arrow-dropup-circle').on('click', scrollToTop);
});

function scrollToTop() {
    verticalOffset = typeof(verticalOffset) != 'undefined' ? verticalOffset : 0;
    element = $('body');
    offset = element.offset();
    offsetTop = offset.top;
    $('html, body').animate({scrollTop: offsetTop}, 500, 'linear');
};

搜索了40多个问题,但无法找到答案。只是说这个,因为如果你没有,有人找到一个他们总是说,"你应该先问一下。"我一直都在看。

1 个答案:

答案 0 :(得分:1)

回答我自己的问题

经过这么长时间没有回复我已经继续前进,并决定当时不担心这个问题。今天,我使用相同的jQuery脚本在不同的站点上工作,并遇到了同样的问题。我决定尝试自己修复它,因为我无法在这个问题上找到帮助。

解决方案很简单!我不知道第一次错过了它。我所做的只是采用上面的代码并添加一个函数:

$('.ion-android-arrow-dropup-circle').click(function(event) {
        event.preventDefault()
    });

我忘记了所有需要删除点击跳转到目的地的链接的默认操作。它现在非常流畅,看起来很棒,就像我想要开始一样!

我完全更新的脚本供您参考:

$(function(){
    $(document).on( 'scroll', function(){

    if ($(window).scrollTop() > 50) {
        $('.ion-eject').addClass('show');
    } else {
        $('.ion-eject').removeClass('show');
    }
});

    $('.ion-eject').click(function(event) {
            event.preventDefault()
        });
    $('.ion-eject').on('click', scrollToTop);
});

function scrollToTop() {
    verticalOffset = typeof(verticalOffset) != 'undefined' ? verticalOffset : 0;
    element = $('body');
    offset = element.offset();
    offsetTop = offset.top;
    $('html, body').animate({scrollTop: offsetTop}, 200, 'linear');
};