如何在页面底部固定“go to top”按钮,但在(未固定)页脚上方?

时间:2018-03-16 20:35:32

标签: javascript html css footer fixed

我已经制作了一个页面(在Shopify上),我在左下方有一个固定的“go to top”箭头。没关系,但当我滚动到页面底部时,箭头将位于页脚前面,我希望它保持在页脚之上。

以下是我使用的代码:

$(document).ready(function() {			
  $(window).scroll(function() {
    if ($(this).scrollTop() > 200) {
      $('.go-top').fadeIn(200);
    } else {
      $('.go-top').fadeOut(200);
    }
  });

  $('.go-top').click(function(event) {
    event.preventDefault();

    $('html, body').animate({scrollTop: 0}, 300);
  })
});
.go-top {
  position: fixed;
  bottom: 2em;
  right: 0.5em;
  text-decoration: none;
  font-size: 40px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" class="go-top"> &#x2191; </a>

2 个答案:

答案 0 :(得分:2)

将z-index添加到css中。 类似的东西:

z-index: 100000

使数字尽可能大到最高位置。

答案 1 :(得分:1)

&#13;
&#13;
    $(document).ready(function() {		
      $(window).scroll(function() {
   //--------------------------- Lines added ------------------------//
       var footertotop = ($('.footer').position().top);
       var scrolltop = $(document).scrollTop() + window.innerHeight;
       var difference = scrolltop-footertotop;
      if (scrolltop > footertotop) {
        $('.go-top').css({'bottom' : difference});
      }else{
        $('.go-top').css({'bottom' : 10});
      };   
  //--------------------------- end ---------------------------------//
      if ($(this).scrollTop() > 200) {
          $('.go-top').fadeIn(200);
      } else {
          $('.go-top').fadeOut(200);
      }
      });
      $('.go-top').click(function(event) {
        event.preventDefault();
        $('html, body').animate({scrollTop: 0}, 300);
      })
    });
&#13;
.container{height:2000px;position:relative}
.footer{height:200px;width:100%;position:absolute;bottom:0px;background:red}

.go-top {
  position: fixed;
  bottom: 20px;
  display:none; // <---- Dont display on page load
  right: 0.5em;
  text-decoration: none;
  font-size: 40px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="container">
<a href="#" class="go-top"> &#x2191; </a>
<div class="footer"></div>
</div>
&#13;
&#13;
&#13;