2013-04-08 76 views
1

如何在效果完成后运行函数,如延迟特定时间后运行指定的函数?我尝试了设置超时时间,但它不适合我。效果完成后运行函数

这里我的代码

<script> 
    $("#findtext").keyup(function (e) { 
     var code = (e.keyCode ? e.keyCode : e.which); 
     if (code == 13) 
     { 
      explodeEffect(); 

     } 

      $.ajax({ 
       url: 'resultFindFriend.php', 
       type: 'post', 
       async: false, 
       data: { dataFriend: $(this).val() }, 
       success: function (data) { 
        $('.outputfindfriend').html(data); 
       } 
      },setTimeout(150)); 

    }); 

    function explodeEffect() { 
     $("#explodesearchresult").toggle("explode"); 
     setTimeout(1000); 
     window.location("http://localhost/index.html"); 
    }; 

    $("#buttonfriend").click(function() { 
     explodeEffect(); 
     return false; 

    }); 



</script> 

回答

4

这是可行的与jQuery的.toggle(),只需添加一个函数作为第二个参数。

试试这个:

function explodeEffect() { 
    $("#explodesearchresult").toggle(400, function() { 
    setTimeout(function() { 
     window.location.href = "http://localhost/index.html"; 
    }, 1000); 
    }); 
} 

这将的爆炸效果完成1秒后重定向的页面。

+0

对不起,先生,但它没有为我工作.. 1秒后没有将我重定向到其他页面 – 2013-04-08 00:35:01

+0

@rodolfonavalon - 这是我复制和粘贴'window.location'的问题。试试我编辑的答案。 – Aiias 2013-04-08 00:39:28

+0

是的,我将它改为window.location.href =“http://localhost/index.html”;现在它的工作谢谢你的帮助先生。 – 2013-04-08 00:41:16