【问题标题】:ScrollToTop not workng only in IE EdgeScrollTop 仅在 IE Edge 中不起作用
【发布时间】:2018-04-18 06:10:24
【问题描述】:

我有滚动到顶部的淡入淡出功能。这适用于 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%。这似乎没有多大帮助。任何帮助表示赞赏。

【问题讨论】:

    标签: javascript jquery html css


    【解决方案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);
    });
    

    【讨论】:

      【解决方案2】:

      试试这个:)

      HTML 代码

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

      JS 代码

      // 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;
      });
      

      【讨论】:

        猜你喜欢
        • 2011-10-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-08
        • 2018-04-06
        • 1970-01-01
        • 2015-01-16
        相关资源
        最近更新 更多