2012-03-30 10 views
1

Ich habe Probleme, etwas Javascript und Jquery zu bekommen, um die entsprechende Menge an Zeit zu verzögern. Ich möchte einen Text ändern, 5 Sekunden warten und dann einen Alarm ausgeben.JQuery delay() -Funktion wird übersprungen

Hier ist der Code:

$('#result').html("Record has passed").delay(5000); 
alert("Record has passed"); 

Aus irgendeinem Grund die Warnung ausgeführt wird, bevor die jquery #result und wartet ändert. Irgendwelche Lösungen oder jemand anderes sieht dieses Problem?

Ich habe

versucht
setTimeout($('#result').html("Record has passed"), 5000); 

als gut, aber noch kein Glück.

+0

sollte ich noch hinzufügen, dass ich die .delay bewegen versucht habe (5000) als auch: $ ('# result') .delay (5000) .html ("Datensatz hat bestanden"); – Proxy404

Antwort

3

jQuerys .delay Methode funktioniert nur für Animationen und Funktionen in der Warteschlange. Verwenden Sie stattdessen setTimeout.

$("#result").html("Record has passed"); 
setTimeout(function(){ 
    alert("Record has passed"); 
},5000); 
1
$('#result').html("Record has passed"); 
setTimeout(function(){ 
    alert("Record has passed"); 
},5000);​ 

Example Here.

1

wenn u immer noch wollen, verwenden jquery Verzögerung, u wie dies tun können:

$('#result').html("Record has passed").delay(5000).queue(function() { 
    alert("Record has passed"); 
});