2016-03-25 25 views
0

zeigte Ich habe Code:jQuery - zeigen, wenn versteckt, verstecken, wenn

<script> 
    $(document).ready(function(){ 
     $("#browse").click(function(){ 
      $("#navbar-secondary").show(); 
      $("#navbar-secondary").removeClass('hidden').addClass('animated slideInDown'); 
      $(this).find("a").focus().blur(); 
     }); 
    }); 
</script> 

Es funktioniert gut, aber ich möchte auch hide() Aktion auf #navbar-secondary haben, wenn #navbar-secondary gezeigt wird.

Grüße.

+0

Sie hinzufügen können, '$ (this) .Hide();' nach ' $ (this) .find ("a"). focus(). blur(); 'Aber da Ihr Anker-Tag Teil von $ (this) ist, ist alles darunter weg. –

+0

kannst du uns deine html zeigen? Vielleicht können wir besser helfen –

Antwort

0

Was .toggle()

$("#navbar-secondary").toggle() 
+0

Was unterscheidet zwischen toogle() und hide()? – mateuszji

+0

toggle() hide Element, wenn es angezeigt wird und zeigen, wenn es ausgeblendet ist http://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_eff_toggle – Nab

+0

aber kann ich 'animated slideOutUp' oder eine andere Animation aus animieren. css vor hide '# navbar-secondary?' – mateuszji

0

können Sie mit .is(":visible") überprüfen und dann verwenden, um den .hide() Funktion

$(document).ready(function(){ 
    $("#browse").click(function(){ 
     if ($("#navbar-secondary").is(":visible")) { 
      $("#navbar-secondary").hide().addClass('hidden'); 
     } else { 
      $("#navbar-secondary").show().removeClass('hidden').addClass('animated slideInDown'); 
      $(this).find("a").focus().blur(); 
     } 
    }); 
}); 
+0

Ausgezeichnet, aber kann ich 'animated slideOutUp' verwenden, bevor ich' # navbar-secondary' verberge? – mateuszji

+0

Jetzt habe ich festgestellt, dass es einige CSS3-Funktionen gibt, aber das ist mir nicht bekannt. Jedenfalls sehe ich keinen Grund, warum es nicht funktionieren würde. – PetrHejda

+0

aber wie geht das? '# navbar-secondary' wird vor Beginn der Animation ausgeblendet. – mateuszji

Verwandte Themen