我想在 10 秒后触发一个对话框,这非常简单..或者我是这么想的:-)
function showPopup() {
$( "#emailPopup" ).dialog({autoOpen:false});
//alert('Dialog shown');
}
$( "#emailPopup" ).dialog("open");
$( "#emailPopup" ).dialog("close");
$(document).ready(function() {
$( "#emailPopup" ).dialog({autoOpen:false});
window.setTimeout(function(){
showPopup();
}, 4000);
jwplayer('videoBox').setup({
flashplayer: '<?php echo asset_url(); ?>swf/player.swf',
file: 'http://www.youtube.com/watch?v=Oj8CwmP_Jm4',
height: 329,
width: 540,
events:{
onBeforePlay:function(){
$('#videoTitle').hide();
$('#videoReplay').hide();
},
onPlay:function(){
videoStarted = true;
clearTimeout(popTO);
},
onComplete:function(){
home.flashGetStarted();
$('#videoReplay').show();
}
},
plugins: 'fbit-1'
});
});
当我运行代码 showPopup IS run 时,我可以使用 Firebug 中的调试来验证这一点,但是调用对话框后,我仍然没有看到任何对话框。如果我在 setTimeout 之外直接调用对话框,它会起作用......但在内部,这是不行的。
最佳答案
为了在对话框上使用open
方法,您首先需要初始化对话框。
$( "#emailPopup" ).dialog({autoOpen:false});
function showPopup() {
$( "#emailPopup" ).dialog("open");
//alert('Dialog shown');
}
window.setTimeout(function(){
showPopup();
}, 4000);
关于javascript - UI 对话框在使用 jQuery 的 setTimeout 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14446982/