0

ここに私が取り組んでいるページがあります: http://dsa.dartmouth.edu/ . スライドショーの下には、カーソルを合わせると色が変わる 4 つのパネルがあります。背景色は正常に機能しますが、タイトルの色が白くなった後、暗い色に戻ることはありません。以下は、これを制御する JavaScript です。ロールアウト時に h2 テキストを暗い色に戻すにはどうすればよいですか?

$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 );
    } );
4

3 に答える 3

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'});
});
于 2012-07-26T02:47:15.647 に答える
1

あなたの問題は、jQuery アニメーション機能が色のアニメーション化を許可していないことです。そのためには、別のプラグインを使用する必要があります。

以下に示す場合を除き、すべてのアニメーション化されたプロパティは単一の数値にアニメーション化する必要があります。数値でないほとんどのプロパティは、基本的な jQuery 機能を使用してアニメーション化できません(たとえば、幅、高さ、または左はアニメーション化できますが、 jQuery.Color()プラグインを使用しない限り、背景色はアニメーション化できません)。特に指定がない限り、プロパティ値はピクセル数として扱われます。必要に応じて、単位 em および % を指定できます。

于 2012-07-26T02:43:29.173 に答える
0

jQuery UI.animate()も含めない限り、jQueryは色を付けません。そのため、jQueryUI JS ファイルをダウンロードして含める (jquery.js の後に含める) か、コードを変更して..css()

于 2012-07-26T02:43:14.010 に答える