Kann ich dies mit jQuery machen oder sollte ich etwas anderes verwenden?In jQuery wie erstelle ich alle 5 Sekunden einen Alarm?
Antwort
Die jQuery.delay()
Funktion ausgelegt ist, zu verzögern Ausführung von Funktionen in der jQuery-Queue. Es gibt bereits eine integrierte JavaScript-Funktion für die Verarbeitung von Intervallfunktionen. Sie würden jQuery nicht verwenden, um dies zu erreichen.
setInterval(function() {
alert("Message to alert every 5 seconds");
}, 5000);
Wieder keine Notwendigkeit für jQuery hier:
setInterval(function() {
alert("How Now Brown Cow");
}, 5000);
(Sie jemand nicht sagen, aber @Justin Niessner ist richtig, jQuery ist JavaScript)
Ich kichere jedes Mal, wenn ich Leute sehe, die sich auf JS als jQuery beziehen –
Technisch gesehen können Sie in Vanilla JavaScript alles tun, dass Sie jQuery seit jQuery IS JavaScript verwenden würden. –
Ich stimme zu, jQuery ist wirklich das beste, es löst alle Arten von Browserproblemen und ist auch gut – goat
Sie können entweder setInterval()
oder setTimeout()
verwenden. Es kann auch eine jQuery-spezifische Hilfsfunktion geben.
setInterval()
benötigt 2 Parameter - eine auszuführende Funktion und die Verzögerung in Millisekunden zwischen Aufrufen. Es wird weiterhin die Funktion aufrufen, bis Sie die Seiten wechseln oder clearInterval(intervalID)
aufrufen. Sie müssen den von setInterval()
zurückgegebenen Wert übergeben, um es zu löschen.
setTimeout()
nimmt die gleichen Parameter, aber es wird nur einmal ausgeführt. Sie können das umgehen, indem Sie die letzte Zeile in der Funktion, die Sie übergeben, erneut an setTimeout()
setTimeout()
senden.
Ich habe festgestellt, dass Sie in einigen Browsern eingeschränkt sind in dem, was Sie mit setInterval()
tun können - zum Beispiel könnte es Sie setInterval()
beim Laden der Seite möglicherweise nicht aufrufen.
Ich benutze dieses Skript Cookbook/wait mit einem kleinen Plugin und es funktioniert ziemlich gut:
(function($){
$.fn.runItIf = function(ex, fn, args) {
var self = this;
return $(self).queue(function() {
args = args || [];
if (ex)
fn.apply.(self, args);
$(self).dequeue();
});
};
$.fn.runIt = function(fn, args) {
return $(this).runItIf(true, fn, args);
};
$.fn.wait = function(time, type) {
time = time || 1000;
type = type || "fx";
return this.queue(type, function() {
var self = this;
setTimeout(function() {
$(self).dequeue();
}, time);
});
};
})(jQuery);
Beispiel basierend auf dem Beispiel in Cookbook/wait:
function runIt() {
var expression = true;
$("div").wait()
.animate({left:'+=200'},2000)
.runIt(function() { /* ... */ }).wait(10)
.runItIf(expression, function() { /* ... */ }).wait(10)
.animate({left:'-=200'},1500,runIt);
}
runIt();
- 1. Alarm senden nach 5 Sekunden, 15 Sekunden ... mit einem Timer
- 2. android, wie ListView alle 5 Sekunden aktualisieren
- 3. Wie warten Sie 5 Sekunden mit jQuery?
- 4. jQuery Automatische Aktualisierung div/span alle 5 Sekunden
- 5. Run cURL Befehl alle 5 Sekunden
- 6. Timer, der alle 5 Sekunden auslöst
- 7. Refresh D3 generierte Tabelle alle 5 Sekunden
- 8. Datatables aktualisieren einzelne Spalte alle 5 Sekunden
- 9. Laravel 5 Zeitplan Job alle 30 Sekunden
- 10. Emacs - Automatisches Speichern Puffer alle 5 Sekunden
- 11. Wiederholen Animation alle 5 Sekunden mit Animate.css
- 12. AJAX Anfrage bekommen, alle 5 Sekunden aktualisieren
- 13. Android - Wie erstelle ich Erinnerung/Alarm in der Anwendung
- 14. jQuery, wie Ereignis alle x Sekunden auftreten?
- 15. jQuery zeigen für 5 Sekunden dann ausblenden
- 16. JQuery deaktivieren Link für 5 Sekunden
- 17. Wie erstelle ich in wenigen Sekunden ein Methodenparameterobjekt mit ReSharper?
- 18. JQuery entfernen .append nach 5 Sekunden
- 19. Wie erstelle ich einen Timer
- 20. Wie bekomme ich alle paar Sekunden einen Standort?
- 21. Wie erstelle ich einen Timer in WPF?
- 22. Wie man mehrere div alle 5 Sekunden ändert
- 23. Wie neu img alle 5 Sekunden mit Javascript?
- 24. Aufnehmen von Bildern in Android alle 5 Sekunden
- 25. AlarmManager - Wie wiederhole ich einen Alarm zu jeder vollen Stunde?
- 26. Wie erstelle ich einen NSManagedObjectContext
- 27. Wie erstelle ich einen Metagrammar?
- 28. Android Repeating Alarm Manager in allen 30 Sekunden
- 29. PHP-Skript alle 5 Sekunden auf Seite neu laden (file_get_contents())
- 30. Wie kann ich einen sofortigen Alarm auslösen?
Kurze Antwort: Das gleiche wie in JavaScript;) (Es gibt keine spezielle jQuery-Funktionalität dafür). –
Keine Notwendigkeit für jQuery. Plain old 'setInterval()' macht –
möglich duplicate von [setInterval vs setTimeout] (http://stackoverflow.com/questions/2696692/setinterval-vs-settimeout) – treeface