2014-07-09 107 views
0
$(function() { 
    $("#Dialog1").dialog({ 
     resizable: false 
    }); 

    if($("#Dialog1").dialog("isOpen")){ 
     setTimeout(function(){ 
      $("#Dialog1").dialog("option", "hide", { 
       effect: "explode", 
       duration: 1000 
      }) 
     }, 5000)} 
    }); 
}); 

它需要在5秒後銷燬對話框,但沒有任何事情發生。jQuery對話框,什麼都沒發生

+1

'對話框( 「選項」, 「隱藏」,...)'不隱藏對話框。改用'close'或'destroy'。查看[文檔](http://api.jqueryui.com/dialog/)中的區別。 –

+0

試試這個$(this).dialog('close');如果不是你的解決方案解釋你在控制檯中得到什麼錯誤 –

+0

它關閉對話框,但setTimeOut不起作用。 – user3820214

回答

0

有你的代碼的幾個問題:

  1. 你有一個額外}setTimeout
  2. 後,您有if語句
  3. 收盤}後,一個額外的)當你打電話的方法不需要"option"
  4. 要關閉對話框請使用closedestroy方法

WORKING JSFIDDLE DEMO

$(function() { 
    $("#Dialog1").dialog({ 
     resizable: false 
    }); 

    if($("#Dialog1").dialog("isOpen")){ 
     setTimeout(function(){ 
      $("#Dialog1").dialog("close"); 
     }, 5000); 
    } 
}); 
相關問題