2012-11-21 64 views
0

我使用這個dialog box 我寧願問我的問題jsfiddle但我沒有它在jsfiddle中工作。 所以我在這裏放一個demo將風格賦予模態對話框

如果我在#dialog塊中不使用visibility:hidden;,當url參數不等於'dialog'時#dialog div顯示在頁面中。但它必須顯示只有當url = dialog
如果我使用visibility:hidden;內部#dialog div沒有顯示。

另外,我希望它在頁面加載10分鐘後打開。我會在哪裏放setTimeout

回答

1

你需要的東西是這樣的:

function showdialog() { 
    $("#dialog").dialog({width:500,height:240}); 
}; 

$(function() { 
    var lockation = document.location.toString(); 
    if(lockation.indexOf("url=dialog", lockation.length - "url=dialog".length) !== -1)//check if url ends with 'url=dialog' 
     setTimeout(showdialog, 1000);//call function with timeout 
}); 

- 而不是jQuery.ready的當量(jQuery的替代body.onload您正在使用)

而且, visibility:hidden使用display:none;

http://jsfiddle.net/97LXc/5/此演示(無網址=對話框)。

http://jsfiddle.net/97LXc/7/ URL =對話框仿擬

UPD 那麼,一旦你已經在服務器根據URL填充onload="javascript:showdialog()",不需要測試網址上的客戶像我這樣做。只是onload打印

$(function() { 
     setTimeout(showdialog, 1000);//call function with timeout 
    }); 

右後showDialog定義 代替

+0

非常感謝你。但我必須使用' Tahtakafa

+0

就這樣做。我猜你有這樣的東西:''。只要移動,如果小的鞋面。並放在showDialog定義之後。這與jQuery本身無關 –

1

您應該使用display:none而不是visibility:hidden,因爲可見性會使您的元素不可見。你也可以把你的setTimeout放在任何你想要的位置,這取決於你什麼時候開始計數。準備好了嗎?在window.load之後?等

$(function(){ // this waits for dom to be ready 
    setTimeout(showdialog,10000); 
}); 

http://jsfiddle.net/mQRVp/