2010-05-30 8 views
5

Comment puis-je détruire une boîte de dialogue après un certain nombre de secondes ?????Jquery détruire la boîte de dialogue après x secondes

Ceci est mon code:

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

</script> 
+4

questionmarks sont pas emballer les animaux:/ – LukeN

Répondre

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

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

Au-dessus ne fonctionnera pas comme 'dialog' ne sera pas défini dans la fonction anonyme passée à setTimeout – azatoth

+0

+1 - Cela fonctionne très bien. – user113716

+0

Fonctionne parfaitement – user342391

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

setTimeout("destroyDialog()", 1000); 

Ce qu'il fait après 1 seconde, 1000 millisecondes ...

+0

Je recommanderais de changer le setTimeout ici à setTimeout (destroyDialog, 1000); – azatoth

+0

Vous avez ajouté un '. 'Final à votre sélecteur, et votre fonction sera appelée par rapport à l'espace de nom global, donc' destroyDialog() 'devrait être défini globalement. – user113716

Questions connexes