2012-02-25 82 views
1

我在這裏查看過,但無法找出爲什麼這不能正常工作。我想在懸停的顏色背景上做一個簡單的淡入淡出。它只能在Chrome中使用,而不能在Firefox或IE中使用。任何幫助將不勝感激!jQuery彩色動畫插件無法在IE或Firefox中工作

HTML:

<div id="sidemenu"> 
     <a href="#">Spiritual Ceremonies</a> 
      <a href="#">Flower Ceremony</a> 
      <a href="#">Ceremony Four Elements</a> 
      <a href="#">Butterfly Ceremony</a> 
      <a href="#">Non Denomination Ceremony</a> 
      <a href="#">Mayan Wedding Ceremony</a> 
      <a href="#" id="no">Civil Mexican Ceremony</a> 
</div> 

JQUERY:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.3.min.js"></script> 
<script type="text/javascript" src="../js/jquery.animate-colors.js"></script> 
<script> 
$("#sidemenu>a").hover(function() { 
     $(this).animate({backgroundColor: "#943939",color: "#fff"}, 150)} 
     ,function() { 
     $(this).animate({backgroundColor: "#dcacbb",color: "#8e5769"}, 150); 
     });    
</script> 
+1

默認情況下,jQuery的不能動畫的色彩。如果您使用的是插件,請修改原始帖子以包含缺少的信息並添加一個鏈接到插件的網站。 – Sparky 2012-02-25 21:13:59

+0

斯帕基是正確的。我相信,jQuery UI 1.8解決了動畫顏色的問題。只需包括jQuery UI,它應該可以工作。 – 2012-02-25 21:16:47

+0

@JamesL。,儘管jQueryUI也允許顏色的動畫...如果OP已經使用彩色動畫插件,則不需要jQueryUI,「jquery.animate-colors.js」 – Sparky 2012-02-25 21:20:17

回答

2

正確的答案,已經發布的其他用戶,煙消雲散所以我再次與更多的解釋和說明張貼和工作演示。

將代碼包含在$(document).ready()函數中,因爲調用代碼時顯然沒有任何相關的DOM元素存在。 $(document).ready()僅在DOM完全加載後纔會觸發,從而允許正確的操作或您的目標元素。

<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.3.min.js"></script> 
<script type="text/javascript" src="../js/jquery.animate-colors.js"></script> 
<script type="text/javascript"> 

$(document).ready(function() { 

    $("#sidemenu>a").hover(
     function() { 
      $(this).animate({backgroundColor: "#943939",color: "#fff"}, 150) 
     },function() { 
      $(this).animate({backgroundColor: "#dcacbb",color: "#8e5769"}, 150); 
    }); 

}); 

</script> 

jsFiddle DEMO

的演示假設你正在使用this plugin

1

確保該元素具有背景色的CSS預先定義..

.yourelement { 
    background-color: #FFF; 
} 

現在應該在Firefox和IE瀏覽器....