2012-12-14 57 views
1

有沒有辦法減慢location.reload()減慢jQuery中的location.reload()?

當前我在某些中使用了.toggle("slow")而在其他人中使用了.hide("slow")以顯示模式動畫。其中一個函數調用刷新,但動畫未在重新加載之前完成。它開始並中途完成,然後就被切斷了。我喜歡讓它等到動畫完成並重新加載。

$(".modal-box button").click(function(){ 
    $(".modal-box").hide("slow"); 
    if ($(this).is("#reset")){ 
     location.reload(); 
    } 
}); 

回答

3

你應該做的反而是定義一個回調函數每當動畫實際上完成的是將要運行的動畫。

$(".modal-box button").click(function(){ 
    var self = this; //keep the correct scope 
    $(".modal-box").hide("slow", function() { 
     if ($(self).is("#reset")){ 
      location.reload(); 
     } 
    }); 
}); 
+0

+1的說明。 – joequincy

1

就讓它成爲動畫的回調:

$(".modal-box").hide('slow', location.reload); 
3
$(".modal-box button").click(function(){ 
    var self = this; 
    $(".modal-box").hide("slow", function(){ 
     if ($(self).is("#reset")){ 
      location.reload(); 
     } 
    }); 
});