Get div to show/hide when scrolling for a “back to top” link

我只是一个虾纸丫 提交于 2020-01-12 08:38:09

问题


I can't make my "go to top" id=arrow-up div to disappear when on e.g. top of the page.

At the top of the page I got

So I would like the arrow-up div to visible(show("slow")) when not on top of the page.

 var tmp = $(window).height();

Tmp is used to get the viewport height... Not sure if that is right?

I have seen other solutions but they are only kind of the same... and I can't make them work, also they font use :in-viewport. Can I make it with viewport or am I side tracked?

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js">        </script>
<script src="bootstrap-3.1.1-dist/js/bootstrap.min.js"></script>
<script src="http://malsup.github.com/jquery.form.js"></script>
<script src="/jquery/isInViewport.min.js"></script>



$(window).scroll(function() {
  if($('#pageStart:in-viewport(tmp)')){
    $("#arrow-up").hide("slow");
  }else{
    $("#arrow-up").show("slow");
  }
});

回答1:


"So I would like the arrow-up div to visible(show("slow")) when not on top of the page"

I do that this way:

http://jsfiddle.net/wf_4/GubeC/

SCRIPT:

// fade in #back-top
$(function () {
    $(window).scroll(function () {
        if ($(this).scrollTop() > 300) {
            $('.back-top').fadeIn();
        } else {
            $('.back-top').fadeOut();
        }
    });

    // scroll body to 0px on click
    $('.back-top').click(function () {
        $('body,html').animate({
            scrollTop: 0
        }, 1600);
        return false;
    });
});

CSS

.back-top {
    width:25px;
    height:25px;
    background:#ff0000;
    position:fixed;
    bottom:68px;
    right:5px;
    display:none;
    opacity:0.8;
}

HTML

<div class="back-top" title="Top of Page"></div>       


来源:https://stackoverflow.com/questions/23109963/get-div-to-show-hide-when-scrolling-for-a-back-to-top-link

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!