0

我正在尝试这样做:

$('#mypopup').dialog({
    modal: true,
    autoOpen: true,
    resizable: false,
    show: {effect:'slide',duration:250},
    hide: {effect:'slide',duration:250}
});

然后打开它...

function showPopup() {
        if ($('#mypopup').length == 0) {
            $('#mypopup-div').load('mypopupurl/show.php'); 
        } else {
            //reopen the login dialog previously rendered, don't load again
            $('#mypopup').dialog('open'); 
        }
    }

然后关闭它...

$('#mypopup').dialog('close');

我的问题是,上面代码中的显示幻灯片效果仅在第一次起作用时,它实际上是从 .load('mypopupurl/show.php'); 加载的。当我关闭它并重新打开弹出对话框时,它会使用 .dialog('open'); 命中 else 语句。代码,这次没有出现幻灯片效果。(不是错误,只是正常弹出,但没有效果)

这是 JQuery 中的一个小故障吗?还是设计使然?当它点击对话框('打开')时,如何使效果起作用?

4

1 回答 1

1

我认为你可以做类似 $('#mypopup').show();$('#mypopup').dialog().show();

于 2012-06-27T12:30:30.887 回答