2011-05-05 181 views
0

我有一個簡單的jQuery製作的動畫,但由於某種原因在IE8和以前的版本中不起作用。這裏是我的代碼:jquery不能在IE中工作

$(document).ready(function(){ 
       $('.circle.pink').animate({display: 'block'}, 800, function(){ 
        $(this).animate({right: 446}, 1200, 'easeOutExpo') 
       }); 

       $('.circle.green').animate({display: 'block'}, 2000, function(){ 
        $(this).animate({right: 20}, 800) 
       }); 

       $('.circle.blue').animate({display: 'block'}, 2800).animate({right: -100}, 800, function(){ 
        $(this).css('z-index', '4') 
       }).animate({right: 0}, 1000, 'easeOutExpo'); 
      }); 

這裏的HTML:

<div class="circles-wrap"> 
     <div class="circle green"></div> 
     <div class="circle pink"> 
      <article class="intro"> 
       <span class="logo left"></span> 
       <p>Lorem ipsum....</p>         
      </article> 
     </div> 
     <div class="circle blue"></div> 
</div> 

和CSS:

.circle{ 
    width:514px; 
    height:514px; 
    display: block; 
} 

.circle.pink{ background:url('../images/c-pink.png'); position:absolute; right:0; z-index: 3;} 
.circle.blue{ background:url('../images/c-blue.png'); position:absolute; right:0; z-index: 2;} 
.circle.green{ background:url('../images/c-green.png'); position:absolute; right:0; z-index: 1;} 

任何想法,爲什麼它不工作?逗號似乎是在正確的地方。

由於提前,

莫羅

+0

你能提供與此相符的html嗎? – anothershrubery 2011-05-05 10:32:51

回答

2

顯示不是一個CSS屬性可以在裏面使用動畫(),動畫期待與數值屬性。 也許這是拋出IE強制退出的錯誤。

+0

右鍵 - Firefox通常繞過像這樣的屬性錯誤,IE不行。您可以在動畫觸發後使用回調函數,然後您可以隱藏該元素,或者您可以在設置動畫持續時間後將不透明度設置爲0,您應該添加「,function(){$(element)」。 hide();}「...或添加不透明度動畫。 – Atticus 2011-05-05 10:45:36

+0

是的,我沒有想過。謝謝!我用數字值來代替另一個屬性。 Btw IE瀏覽器仍然是有史以來最愚蠢的瀏覽器! :) – Mauro74 2011-05-05 10:46:37

+1

有史以來最愚蠢的處理你的壞編碼?這就像走進餐廳和訂購龍蝦。他們告訴你菜單上沒有龍蝦,你抱怨。你去另外一家餐館訂購龍蝦,他們會給你帶來小牛肉,但是你很高興地告訴你帶來了什麼東西,即使它不是你想要的東西。 – anothershrubery 2011-05-05 10:58:34