2016-05-23 69 views
0

我想创建一个固定的导航栏,当用户滚动时变淡,并且变得不透明时,用户不是,但我不知道如何触发fadeTo命令时,他们有停止滚动。我玩过并搜索了.promise(),但我无法弄清楚确切的用法。我是JS/JQuery的新手,我正处在一个学校项目中。JQuery闪烁div?帮助使用.promise()

JQuery的:

$(window).scroll(function() { 
    $("#top").fadeTo(300, 0.5); 
    $("#top").fadeTo(300, 1); 
}); 

#top是导航栏。

任何帮助表示赞赏,并试图解释你的答案,因为它可以帮助我学习。

谢谢,拉克兰。

+2

http://stackoverflow.com/questions/9144560/jquery-scroll-detect-when-user-stops-scrolling – thatOneGuy

回答

2

当鼠标滚动时,创建计时器,如果花费时间后页面没有滚动,则显示目标元素。

var timer; 
 
$(window).scroll(function(){ 
 
    clearTimeout(timer); 
 
    timer = setTimeout(function(){ 
 
     $("#nav").fadeIn("fast"); 
 
    }, 500); 
 
    $("#nav").fadeOut("fast"); 
 
});
body { 
 
    height: 1000px; 
 
    position: relative; 
 
} 
 

 
#nav { 
 
    width: 100%; 
 
    height: 50px; 
 
    position: fixed; 
 
    top: 0px; 
 
    background: green; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="nav"></div>