2012-12-27 95 views
0

您好我做出這樣的代碼:動畫和加載

<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
    $('#navigation a:first-child').click(function(){ 
    $("#space").load("index.html #container").animate({ 
     top: '-=120' 
     }, 1000, function() { 
     // Animation complete. 
     }); 
}); 

$('#navigation a:nth-child(2)').click(function(){ 
    $("#space2").load("index.html #container2").animate({ 
      bottom: '-=120' 
     }, 1000, function() { 
     // Animation complete. 
     }); 
});   
}); 
</script> 
<div id="navigation"> 
    <a href="#">home</a> 
    <a href="#">test</a> 
</div> 

<div id="space" style="border: 1px solid #000000;"> 

</div> 

<div id="space2" style="border: 1px solid #ff0000;"> 

</div> 

我希望它動畫上的鏈接的點擊,但左一動畫和淡入,第二個鏈接從動畫頂部和淡入,第三個從右邊開始動畫並淡入,第四個從底部開始動畫並淡入,每個我需要控制速度,因此第一個速度將爲500,第二個爲一千,第三,1200,第四1500.

如果可能我想他們都加載到同一地區。我不知道這是可以做到

感謝

回答

1

看起來你擁有了一切正確的,你也許會想你的動畫移動到.load回調使動畫不火,直到元素之後被加載。像這樣:

$("#space").load("index.html #myDiv", function(){ 
    $(this).animate({ 
     top: '-=120' 
      }, 1000, function() { 
      // Animation complete. 
      }); 
    }); 

當然你可以控制速度和動畫互相獨立沒有問題。只需將「1000」更改爲「500」或「1200」或任何你想要的。另外,我猜測你會希望將「空間」元素放在一個絕對位置開始(如可能離開頁面),給它們一個寬度和高度,動畫將更加明顯。

+0

謝謝,但我想從該頁面加載某個div id或類,這是我卡在上面的答案,因爲我也想到了這一點。 –

+0

對不起,我是從一個本地文件複製它,你有它的權利,只需添加一個空格,並添加這樣的div id:「index.html #myDiv」,函數(){/ /加載完成 - 開始動畫}。如果你想使用一個類,你可以給一個帶有一個類的元素賦值一個變量,並使用它來代替這個變量:var myElement = $(「。myDiv」);那麼可以用#myDiv代替:(「#space」)。load(「index.html myElement」,function(){//加載完成 - 啓動動畫}。我已經編輯了相應的答案。 –