2017-01-03 3 views
0

Ich kann nicht Slide oben/unten von der slideToggle()-Funktion von jQuery erkennen. Ich habe diesen Artikel als Referenz verwendet Demo of slideToggle in StackOverflowist (': Versteckt') immer falsch nach SlideToggle()

$('#ToogleMe').click(function(e) { 
 
    e.preventDefault(); 
 
    $('#toogleResult').slideToggle(); 
 
    var check = $('#toogleResult').is(':hidden'); 
 
    if (check == true) { 
 
    console.log('up'); 
 
    } else { 
 
    console.log('down'); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<input type="button" id="ToogleMe" value="Toogle" /> 
 
<div id="toogleResult">Random Message</div>

#toogleResult erfolgreich wird umgeschaltet jedoch die var check immer false ist. Warum ist das?

Bild meiner Ausgabe

Image of my Output

Antwort

2

Um dies zu beheben, müssen Sie Ihren Code innerhalb des callback Parameters der slideToggle() Methode auszuführen. Dies stellt sicher, dass es ausgeführt wird, nachdem die Animation abgeschlossen wurde und das Element sich in seinem endgültigen Zustand befindet. Versuchen Sie folgendes:

$('#ToogleMe').click(function(e) { 
 
    e.preventDefault(); 
 

 
    $('#toogleResult').slideToggle(function() { 
 
    var check = $('#toogleResult').is(':hidden'); 
 
    if (check) { 
 
     console.log('up'); 
 
    } else { 
 
     console.log('down'); 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<input type="button" id="ToogleMe" value="Toogle" /> 
 
<div id="toogleResult">Random Message</div>

+0

lernte gerade etwas Neues ... Es war sehr hilfreich –

Verwandte Themen