我有一个基本的jquery模式窗口我用于消息等,它一直工作到最后2天。我试过散列代码,甚至一个基本的测试都没有用。
这是脚本:
$(document).ready(function() {
$("#dialog").html("Please login - redirecting...");
$("#dialog").dialog({
autoOpen: true,
show: "fade",
hide: "fade",
modal: true,
open: function(event, ui) {
setTimeout(function(){
$("#dialog").dialog("close");
}, 2000);
}
});
$(function() {
$("#dialog").dialog({
close: function(event, ui) {
location.href = "login.php" }
});
});
});
任何想法?我查看了window.location文章,这也没有用。
答案 0 :(得分:0)
将setTimeout
更改为setInterval
,如dialog.open
函数中所示。
$(document).ready(function() {
$("#dialog").html("Please login - redirecting...");
$("#dialog").dialog({
autoOpen: true,
show: "fade",
hide: "fade",
modal: true,
open: function(event, ui) {
setInterval(function(){
$("#dialog").dialog("close");
}, 2000);
}
});
$(function() {
$("#dialog").dialog({
close: function(event, ui) {
location.href = "login.php" }
});
});
});
答案 1 :(得分:0)
我的不好 - 我在其他地方有一个幻影JS结束括号 - 前几次我尝试散列代码它必须被跳过或某事 - 道歉。
我将脚本留在这里,因为它是一个很好的模态消息窗口,它会消失。下面是php函数:
function ModalRedir($msg,$redir,$ms){
if(!isset($ms)){
$ms=800;
}
if($redir !==0){
$fwd='$(function() {
$("#dialog").dialog({
close: function(event, ui) { location.href = "'.$redir.'" }
});
});';
}
else{
$fwd='';
}
echo '
<script>
$( document ).ready(function() {
$("#dialog").html("'.$msg.'");
$("#dialog").dialog({
autoOpen: true,
show: "fade",
hide: "fade",
modal: true,
open: function(event, ui) {
setTimeout(function(){
$("#dialog").dialog("close");
}, '.$ms.');
}
});
'.$fwd.'
});
</script>
<div id="dialog" style="display:none;">
</div>
';
}
只需运行:
echo ModalRedir('Please login - redirecting...','path/to/file(login.php)',ModalWait);
ModalWait是定义变量,我的是2000ms ..