2012-07-26 137 views
0

這是我正在處理的頁面:http://dsa.dartmouth.edu/。幻燈片下面是四個面板,可以在懸停時更改顏色。背景顏色工作正常,但標題顏色在變成白色後從未回到其黑色。下面是控制這個的javascript - 我怎樣才能讓h2文本在轉出時變回黑色?除非你有jQuery UIJquery淡入淡出問題

$featured_control_item.hover(function(){ 
     if (! $(this).hasClass('active-slide')){ 
      $(this).find('.et_slide_hover').css({'display':'block','opacity':'0'}).stop(true,true).animate({ 'opacity' : '1' }, featured_controllers_opacity_speed); 
      $(this).find('.controller').find('h2').css({'color':'white'}).stop(true,true).animate({ 'color' : '#656464' }, featured_controllers_opacity_speed); 
     }}, function(){ 
     $(this).find('.et_slide_hover').stop(true,true).animate({ 'opacity' : '0' }, featured_controllers_opacity_speed); 
     $(this).find('.controller').find('h2').stop(true,true).animate({ 'color' : '#656464' }, featured_controllers_opacity_speed); 
    }); 

回答

1

你不能動畫的顏色變化,所以也許嘗試:

$featured_control_item.hover(function(){ 
    if (!$(this).hasClass('active-slide')) 
    { 
    $(this).find('.et_slide_hover').css({'display':'block','opacity':'0'}).stop(true,true).animate({'opacity' : '1'}, featured_controllers_opacity_speed); 
    $(this).find('.controller').find('h2').stop(true,true).css({'color' : 'white'}); 
    }}, function(){ 
    $(this).find('.et_slide_hover').stop(true,true).animate({ 'opacity' : '0' }, featured_controllers_opacity_speed); 
    $(this).find('.controller').find('h2').stop(true,true).css({'color' : '#656464'}); 
}); 
0

jQuery的.animate()不做顏色。所以下載幷包含jQueryUI JS文件(將其包含在jquery.js之後),或者將代碼更改爲僅使用.css()

1

您的問題是jQuery animate功能不允許動畫顏色。你將不得不使用一個單獨的插件。

所有動畫處理的屬性應該被動畫化以單一數值, 除了下面提到;那些非數字不能使用基本功能的jQuery被動畫 最屬性(例如,寬度,高度, 或左可以是動畫,但背景顏色不能,除非使用 jQuery.Color()插件)。除非另有說明,否則將屬性值視爲 像素數。在適用的情況下,單位em和%可以是 。