2012-05-02 24 views
3

我在建立一個網站的最後陣痛,而且客戶希望飛濺頁的第一個真正的頁面使用jQuery淡入/輸出。我的是不問爲什麼,我的是獲得報酬和飛...飛濺頁(不是我的主意)纔去現場

所以,這裏的事件我在尋找的順序:

飛濺頁面打開。徽標淡入。使用點擊進入。徽標淡出。首先打開網站的「真實」頁面。

我已經得到了前三個事件的工作,和第四位。這是越來越標誌,以打開第一個真正的頁面之前淡出。

下面是我得到了什麼:

<div class="logo_container link" data="commercials.php"> 
<img src="images/logo_intro.jpg" alt="intro" /> 
</div> 

<script type="text/javascript"> 

$(function() { 

    $('.logo_container').hide(); 

    $('.logo_container').fadeIn(1000); 

    $(".link").click(function(e) { 
     $('.logo_container').fadeOut(1000); 
     window.location = $(this).attr("data"); 
    }); 
}); 

</script> 

</div> 

但我沒有得到淡出。這只是跳到稱爲window.location的屬性,這是commercials.php。

回答

6

你必須使用window.location在回調方法,像這樣:

$(".link").click(function(e) { 
     $('.logo_container').fadeOut(1000, function(){ 
      window.location = $(this).attr("data"); 
     }); 
}); 

否則window.location將在同一時間被稱爲淡出事件

+0

華麗。我會盡我所能接受。謝謝。 – Adam

1

你需要使用一個回調看的時候fadeOut已經完成。從文檔

例子:

​​

替換window.location = $(this).attr("data");

0

window.location開始漸弱後,將立即被更新的動畫完整產品線,所以你永遠不會有機會看到它。延遲.location通過適合你的框架的方法的變化(例如在MooTools的將是鏈 - 我不知道jQuery的),或者只是將其安排爲happend使用標準setTimeout()在未來的1000毫秒。