给模态对话框赋予样式

时间:2012-11-21 16:36:30

标签: jquery css jquery-ui modal-dialog

我用dialog box 我更愿意用jsfiddle问我的问题,但我没有在jsfiddle中使用它。 所以我在这里放了demo

如果我在visibility:hidden;块中不使用#dialog,当url参数不等于'dialog'时,页面中会显示#dialog div。但只有在url = dialog
时才必须显示它 如果我在#dialog中使用visibility:hidden;内容,则不显示div。

另外,我希望在10分钟页面加载后打开它。我将把setTimeout放在哪里?

2 个答案:

答案 0 :(得分:1)

您应该使用display:none而不是visibility:hidden,因为可见性会使您的元素不可见。您也可以将setTimeout放在任何您想要的位置,具体取决于您希望它何时开始计数。在dom准备好之后?在window.load之后?等

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

http://jsfiddle.net/mQRVp/

答案 1 :(得分: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 =对话框)。

http://jsfiddle.net/97LXc/7/ url =对话框模仿

<强> UPD 好吧,一旦你已经在服务器上填充onload="javascript:showdialog()"取决于URL,就不需要像我那样在客户端上测试url。 而不是onload打印

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

showDialog定义

之后