0

このダイアログボックスを使用して、 jsfiddle で質問したいのですが、jsfiddleでは機能しませんでした。だから私はここにデモを置きました。

ブロックで使用visibility:hidden;しない#dialog場合、urlパラメータが'dialog'と等しくない場合、ページに#dialogdivが表示されます。ただし、url = dialogの場合にのみ表示する必要があります。#dialog内のコンテンツを
使用する場合、 visibility:hidden;divは表示されません。

また、10分のページ読み込み後に開いてほしい。どこに置きsetTimeoutますか?

4

2 に答える 2

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
});

$(function(){...})- jQuery.ready(使用している body.onload の jQuery 置換) と同等

また、visibility:hidden使用する代わりにdisplay:none;

http://jsfiddle.net/97LXc/5/このデモ (url=dialog なし)。

http://jsfiddle.net/97LXc/7/ url=ダイアログの模倣

UPD さて、onload="javascript:showdialog()"URLに応じてサーバーにすでにデータを入力したら、私が行ったようにクライアントでURLをテストする必要はありません。onload印刷 する代わりに

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

showDialog定義直後

于 2012-11-21T16:51:24.213 に答える
1

可視性は要素を非表示に保つため、visibility:hidden の代わりに display:none を使用する必要があります。また、カウントを開始するタイミングに応じて、setTimeout を好きな場所に配置することもできます。ドムの準備ができたら?window.loadの後?等

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

http://jsfiddle.net/mQRVp/

于 2012-11-21T16:49:25.103 に答える