Jquery重定向停止工作

时间:2014-03-16 09:17:20

标签: jquery redirect href window.location

我有一个基本的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文章,这也没有用。

2 个答案:

答案 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 ..