2013-05-28 171 views
-1

我創建了一個簡單的js橫幅。 首先公司名稱將運行到距離離開中心,然後在圖像標誌褪色第一個動畫結束時運行第二個jQuery動畫

HTML

<div id="banner-container"> 
    <div id="companyname"><p>P.Classique Trading Co. Ltd.</p></div> 
    <div id="logo"><img src="img/twitter_logo.png" width="100" height="100" /></div> 
    </div> 

CSS

#banner-container { 
    position:relative; 
    left:300px; 
    top:100px; 
    overflow: hidden; 
    display:box; 
    background-color: #282800; 
    width:500px; 
    height:300px; 
    color:#FFFFFF; 
} 

#companyname { 
    position: relative; 
    color:yellow; 
    top:15px; 
    left:-500px; 
    font-family: 'Finger Paint', cursive; 
} 
#logo { 
    position: relative; 
    display:none; 
    top:50px; 
    left:200px; 
} 

JS

$(document).ready(function() { 
    var left = $('#companyname').offset().left; 
    $("#companyname").css({left:left}).animate({"left":"120px"}, {duration:1000, easing:'easeOutBounce'}); 

    $("#logo").fadeIn(1500); 

    } 

); 

結果兩個動畫同時開始,這不是我想要的。

回答

3

Working jsFiddle Demo

使用動畫的回調:

$("#companyname") 
    .css({left:left}) 
    .animate(
     {"left":"120px"}, 
     { 
      duration:1000, 
      easing:'easeOutBounce', 

      complete: function() { 
       $("#logo").fadeIn(1500); 
      } 
     } 
    ); 
+0

這項工作作爲前具有完整的屬性。謝謝 – Adrian

0

試試這個小提琴:http://jsfiddle.net/KhsWt/

可以使用第二淡入作爲參數時,第一個完成

$(document).ready(function() { 
var left = $('#companyname').offset().left; 
$("#companyname").css({left:left}).animate({left:"120px"}, 1000, 'easeOutBounce', 
    function() { 
     $("#logo").fadeIn(1500); 
    } 
)}); 
+0

在我問之前,我嘗試了這個語法。 這不起作用。徽標不會顯示。 – Adrian

+0

它與上面說過的解決方案是一樣的,你說它工作。另外小提琴顯示它工作正常。徽標不顯示,因爲圖像不在css中指定。我用工作映像更新了小提琴:http://jsfiddle.net/KhsWt/1/ – Yeronimo