Perché non il mio slide alterna il lavoro?
-
12-11-2019 - |
Domanda
Ho un nab bar e voglio uno degli elementi nella barra di navigazione per aprire un menu a discesa quando si fa clic.Ho questo:
$("#dropdown_menuitem").click(function() {
$(this).find('ul').slideToggle('slow');
});
Tuttavia, il menu a tendina non compare mai fare clic su il mio html simile a questo:
<li id="dropdown_menuitem"><a href="#">MyAxon<img style="padding-left:5px;" src="img/drop-down.png"/></a>
<ul class="dropdown reverse_gradient">
<li class="dropdown"><a href="#">Teachers</a></li>
<li class="lastElementInDropDown dropdown"><a href="#">Students</a></li>
</ul>
</li>
.
.
Edit:Ho provato alert($(this).find('ul').html());
e ho ricevuto un avviso con la <li>
elementi.
$(this).find('ul').show(200);
non ha funzionato neanche
Il contenuto non viene aggiunto in modo dinamico.
Il mio css assomiglia a questo:
nav.main_nav ul.dropdown{
opacity: 0;
position: absolute;
top: 35px;
left: 10px;
border-bottom-right-radius: 10px;
-moz-border-bottom-right-radius: 10px;
border-bottom-left-radius: 10px;
-moz-border-bottom-left-radius: 10px;
display: none;
z-index: 100;
}
Tutte le idee?
Soluzione 2
Trovato il problema, avevo impostato opacità a zero nel mio foglio di stile, che mi impedisce di vedere il menu a discesa.
Altri suggerimenti
Beh, prima di tutto è necessario assicurarsi che ciò che si fa clic su non è il link stesso.Qui si fa un .fare clic su anche per la li - Ma cosa succede se l'utente clicca effettivamente il link?Bene, allora si verrà reindirizzati a href entro il link.
Dunque, per evitare che devi aggiungere un evento click del link è di per sé:
$("#dropdown_menuitem a").click(function(e) {
if($(this).parent().find('ul').length > 0) {
e.preventDefault():;
}
});
Questo consentirà di verificare se una tendina esiste nell'attuale li - Se non abbiamo vinto non è reindirizzare l'utente a interrompere la nostra esecuzione di JavaScript.Quindi quello che abbiamo non è quello di impedire l'evento corrente.Come redirect.
Provatelo e fatemi sapere se ha funzionato :)