ScrollToTop仅在IE Edge中不起作用

时间:2017-11-06 06:18:01

标签: javascript jquery html css

我有滚动到顶部淡出淡出功能。这适用于Chrome,Firefox,IE11,Opera。但是不适用于Safari和IE Edge。我不知道为什么这不仅仅发生在这两个浏览器中。这是我到目前为止所尝试过的。

$(window).scroll(function(){
    if ($(this).scrollTop() > 475) {
        $('#btn-back-ttop').fadeIn(300);
    } else {
        $('#btn-back-ttop').fadeOut(300);
    }
});

$("#btn-back-ttop").click(function(){
    $("html").animate({
        scrollTop: 0
        }, 1000);
});

PS:我也尝试了一种建议的解决方案,将body和html的高度设置为auto,并将min-height设置为100%。这似乎没什么帮助。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:1)

尝试替换' html'使用' html,body'

$("#btn-back-ttop").click(function(){
    $("html").animate({
        scrollTop: 0
        }, 1000);
});

应该是

$("#btn-back-ttop").click(function(){
    $("html,body").animate({
        scrollTop: 0
        }, 1000);
});

答案 1 :(得分:1)

试试这个:)

HTML CODE

<div class="back-to-top">
        <a href="javascript: void(0);" rel="nofollow"><span class="fa fa-arrow-up"></span></a>
    </div>

JS CODE

// BACK TO TOP
$('.back-to-top').hide(); // HIDE ON FIRST LOAD
$(window).scroll(function () {
    if ($(this).scrollTop() > 100) {
        $('.back-to-top').fadeIn();
    } else {
        $('.back-to-top').fadeOut();
    }
});
$('.back-to-top a').click(function () {
    $('body,html').animate({
        scrollTop: 0
    }, 800);
    return false;
});