2016-05-23 4 views
0

Ich versuche, eine feste navbar zu erstellen, die verbläßt, während der Benutzer scrollt und undurchsichtig wird, wenn der Benutzer nicht ist, aber ich bin nicht sicher, wie man den fadeTo Befehl auslöst, wenn sie haben Scrollen gestoppt. Ich habe herum gespielt und nach .promise() gesucht, aber ich kann die genaue Verwendung nicht herausfinden. Ich bin neu bei JS/JQuery und ich bin mitten in einem Schulprojekt.JQuery blinkt div? help using .promise()

JQuery:

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

#top ist die navbar.

Jede Hilfe wird geschätzt, und versuchen Sie, Ihre Antworten zu erklären, da es mir hilft zu lernen.

Danke, Lachlan.

+2

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

Antwort

2

Wenn die Maus gescrollt wird, erstellen Sie einen Timer, und wenn nach dem Verarbeiten der Zeitseite nicht geblättert wurde, zeigen Sie das Zielelement an.

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>