2014-10-16 14 views
5

Ich möchte eine Timeout-Funktion, um diese beiden Klassen zu entfernen, aber ich habe keine Ahnung, wie das geht. Kann mir jemand helfen, eine Auszeit hier einzubauen? Danke im Voraus.Entfernen Klasse nach 3 Sekunden

.done(function(response) { 
      // Make sure that the formMessages div has the 'success' class. 
      $(formMessages).removeClass('error'); 
      $(formMessages).addClass('success'); 

      // Set the message text. 
      $(formMessages).text('Message sent!'); 

      // Clear the form. 
      $('#name').val(''); 
      $('#email').val(''); 
      $('#message').val(''); 
      //$('#budget').val(''); 
     }) 

Antwort

9

vielleicht so etwas wie ...

setTimeout(function(){ 
      $(formMessages).removeClass('error'); 
      //....and whatever else you need to do 
    }, 3000); 
+0

Danke Kumpel, das ist es. Aber der Text erscheint immer noch, also habe ich "$ (formMessages) .text ('');" benutzt, um das Problem zu beheben. wie ein Zauber, danke :) –

0

mit JQuery ...:

$(formMessages) 
    .delay(3000) // its like settimeout 
    .removeClass('error'); 

Referenz: http://api.jquery.com/delay/

+3

'.delay' ist * nur * wie' setTimeout' für Ereignisse in der jQuery Queue eines Elements. '.removeClass' wird nie in die Warteschlange gestellt, es wird automatisch ausgeführt. [Daher funktioniert es nicht] (http://jsfiddle.net/o9n9a74y/) – Stryner

+0

Nice .. Ich weiß das wirklich nicht ... Tks ... – giordanolima

Verwandte Themen