Voglio sbiadire ogni nav li
uno per uno. Ecco il mio codice attuale. Mostra l'intero div, ora voglio sbiadire ogni li
uno alla volta con un leggero ritardo.Dissolvenza in ogni li uno a uno
$(document).ready(function(){
$("#circleMenuBtn").click(function(){
$("#dropDownMenu").fadeIn(500);
});
});
<div class="sub-menu" id="dropDownMenu">
<ul id="navbar">
<li> First</li>
<li>Second</li>
<li>Third</li>
<li>Fourth</li>
<li>Fifth</li>
</ul>
</div>
.sub-menu {
position: absolute;
z-index: 1000;
color: #fff;
right: 5px;
display: none;
}
ho provato per cicli cercano di dissolvenza in ciascuna li
in un'iterazione, ma senza successo. Per favore condividi le tue idee.
UPDATE: il codice di Rory McCrossan è perfetto. Sfortunatamente, non è compatibile con il mio codice che nasconde il menu quando viene cliccato al di fuori di esso.
$(document).mouseup(function (e) {
var container = $("#dropDownMenu");
if (!container.is(e.target)
&& container.has(e.target).length === 0) {
container.fadeOut(500);
}
});
Cosa non ha funzionato? Ho appena iniziato a imparare JS e JQuery quindi per favore perdonami se si tratta di una domanda zoppa.
grande soluzione, funziona come un fascino! Perché è in conflitto con il mio codice per chiudere il menu? – kulan
Che cosa non funziona in particolare? Dall'aspetto del tuo codice il problema potrebbe essere che stai svanendo l'elemento '# dropDownMenu', eppure il mio codice sfuma solo gli elementi' li', quindi una volta che un 'mouseup' si attiva, non puoi vedere di nuovo gli elementi. Prova questo nel tuo codice: 'container.find ('li'). FadeOut (500);' –
questa è una soluzione davvero bella! – Olof