2010-05-30 6 views
5

Wie kann ich ein Dialogfeld nach einer bestimmten Anzahl von Sekunden zerstören ?????Jquery zerstören Dialogfeld nach x Sekunden

Dies ist mein Code:

<script type="text/javascript"> 
$(function() { 
    $(".dialog-message").dialog({ 
    modal: true, 
    buttons: { 
    Ok: function() { 
    $(this).dialog('close'); 
    } 
    } 
    }); 
}); 

</script> 
+4

Questionmarks sind keine Rudeltiere:/ – LukeN

Antwort

4
$(function() { 
var dialog = $(".dialog-message").dialog({ 
    modal: true, 
    buttons: { 
     Ok: function() { 
      $(this).dialog('close'); 
     } 
    } 
}); 

setTimeout(function(){ 
    dialog.dialog('destroy'); 
},5000); // 5 seconds 
}); 
+0

oben nicht funktionieren wie 'Dialog' wird nicht in der an setTimeout übergebenen anonymen Funktion definiert. – azatoth

+0

+1 - Das funktioniert gut. – user113716

+0

Funktioniert einwandfrei – user342391

0
function destroyDialog() { 
     $(".dialog-message.").dialog("destroy"); 
} 

setTimeout("destroyDialog()", 1000); 

Dies macht es nach 1 Sekunde, 1000 Millisekunden ...

+0

Ich würde empfehlen, die setTimeout hier zu ändern setTimeout (destroyDialog, 1000); – azatoth

+0

Sie haben Ihrem Selektor ein abschließendes '.' hinzugefügt, und Ihre Funktion wird für den globalen Namespace aufgerufen, so dass' destroyDialog() 'global definiert werden müsste. – user113716