2016-12-06 24 views
1

スクロールトープのダイビングを表示および非表示にする方法。 条件: 1.ユーザーが80 pxまでスクロールすると、 が表示されます。2.ユーザーがクリックすると、ユーザーがトップになります。 3.ユーザーが特定の位置に2秒以上滞在している場合(200ピクセル以上のマビがあるかもしれません)、スクールルーバーも隠れています。彼が上下にスクロールすると、スクロールバーが表示されます。ScroolToTopユーザーのスクロールに基づいて表示および非表示を切り替えます

$(document).ready(function() { 
    $("#scrollup").hide('slow') 

    $(window).scroll(function (e) { 
     e.preventDefault(); 
     if ($(window).scrollTop() > 80) { 
      $("#scrollup").show('slow'); 
     } 
     if ($(window).scrollTop() < 80) { 
      $("#scrollup").hide('slow'); 
     } 
    }); 

    $(".scrollup").click(function() { 
     $("html, body").animate({ scrollTop: 0 }, 500); 
     return false; 
    }); 
}); 

私は1と2の条件を実行しましたが、どのように3を実装できませんか?

答えて

1

setInterval(function(){ $("#scrollup").hide('slow'); }, 2000);を追加し、スクロールに

var idleInterval=null; 
$(document).ready(function() { 
    $("#scrollup").hide('slow'); 

    $(window).scroll(function (e) { 
     if(idleInterval != null) 
     clearTimeout(idleInterval); 
     idleInterval = setInterval(function(){ $("#scrollup").hide('slow'); }, 2000); 
     idleTime = 0; 
     e.preventDefault(); 
     if ($(window).scrollTop() > 80) { 
      $("#scrollup").show('slow'); 
     } 
     if ($(window).scrollTop() < 80) { 
      $("#scrollup").hide('slow'); 
     } 
    }); 

    $(".scrollup").click(function() { 
     $("html, body").animate({ scrollTop: 0 }, 500); 
     return false; 
    }); 
}); 

デモを、それをクリア: -

var idleInterval=null; 
 
$(document).ready(function() { 
 
    $("#scrollup").hide('slow'); 
 

 
    $(window).scroll(function (e) { 
 
     if(idleInterval != null) 
 
     clearTimeout(idleInterval); 
 
     idleInterval = setInterval(function(){ $("#scrollup").hide('slow'); }, 2000); 
 
     idleTime = 0; 
 
     e.preventDefault(); 
 
     if ($(window).scrollTop() > 80) { 
 
      $("#scrollup").show('slow'); 
 
     } 
 
     if ($(window).scrollTop() < 80) { 
 
      $("#scrollup").hide('slow'); 
 
     } 
 
    }); 
 

 
    $(".scrollup").click(function() { 
 
     $("html, body").animate({ scrollTop: 0 }, 500); 
 
     return false; 
 
    }); 
 
});
#pagewrap{ 
 
    height:1000px; 
 
} 
 
#scrollup { 
 
    position: fixed; 
 
    color: white; 
 
    padding: 10px 30px; 
 
    background: red; 
 
    bottom: 30px; 
 
    right: 30px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="pagewrap"> 
 
\t <h1>Demo</h1> 
 
\t <h2><a href="http://webdesignerwall.com/tutorials/animated-scroll-to-top">Animated Scroll to Top</a></h2> 
 
<div id="scrollup"> 
 
    scroll to top 
 
</div> 
 

 
</div>

関連する問題