2012-04-15 9 views
1

これは恐らく単純で簡単に修正できます(または不可能です)が、ページロードにホバー効果を実装しようとしていました。jQueryの背景色のアニメーションページの読み込み

私はそれはホバー上の背景色ですアニメーション化するのdivボックス付きナビゲーションシステム、および以下のjQueryを持っている:

<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.js"></script> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js"></script> 


<script type="text/javascript"> 
var $jq = jQuery.noConflict(); 
/* Menu buttons fade */ 
     $jq(document).ready(function() { 
       $jq("#box").hover(function() { 
       $jq(this).stop().animate({ backgroundColor: "#FF9933"}, 400); 
       },function() { 
       $jq(this).stop().animate({ backgroundColor: "navy" }, 400); 
       }); 

     $jq("#box2").hover(function() { 
       $jq(this).stop().animate({ backgroundColor: "#9DE263"}, 400); 
       },function() { 
       $jq(this).stop().animate({ backgroundColor: "navy" }, 400); 
       }); 

     $jq("#box3").hover(function() { 
       $jq(this).stop().animate({ backgroundColor: "#0099FF"}, 400); 
       },function() { 
       $jq(this).stop().animate({ backgroundColor: "navy" }, 400); 
       }); 

     $jq("#box4").hover(function() { 
       $jq(this).stop().animate({ backgroundColor: "#8B0099"}, 400); 
       },function() { 
       $jq(this).stop().animate({ backgroundColor: "navy" }, 400); 
       }); 

     $jq("#box5").hover(function() { 
       $jq(this).stop().animate({ backgroundColor: "#336666"}, 400); 
       },function() { 
       $jq(this).stop().animate({ backgroundColor: "navy" }, 400); 
       }); 
     }); 
</script> 

私はしかし、何をしようとしている、しかしその代わりに、同じ効果を重複していますページが読み込まれたときに発生します。良い例はcss-tricksです - ナビゲーションバーのボタンの色が順番にアニメーション化されます。

誰でもお手伝いできますか?

ありがとうございます!たぶん

mlazim14

+0

:このような何かを、ボックスは負荷にアニメーションさせることができません。 – epascarello

答えて

0

このようなものは、あなたが探して何です:これらのような色のアニメーションはjQueryのUIまたは好ましくはちょうどはるかに小さいカラーアニメーションスクリプトを必要とすること

var $jq = jQuery.noConflict(); 

$jq(document).ready(function() { 
    var colors = ["", "#FF9933", "#9DE263", "#0099FF", "#8B0099", "#336666"]; 

    $jq("[id^='box']").hover(function() { 
     $jq(this).stop().animate({ backgroundColor: colors[this.id.replace('box','')]}, 400); 
    },function() { 
     $jq(this).stop().animate({ backgroundColor: "navy" }, 400); 
    }); 
}); 

FIDDLE

注意。

EDIT:一部のコピーは幸せのコードを貼り付けている

$jq("[id^='box']").each(function() { 
     $jq(this).stop().delay(time).animate({ backgroundColor: colors[this.id.replace('box','')]}, speed, function() { 
      $jq(this).stop().animate({ backgroundColor: "navy" }, speed); 
     }); 
     time=time+(speed*2); 
}); 

FIDDLE

+0

私のコードをもう少しセマンティックにしてくれてありがとう!しかし、これは、ページが読み込まれたときに背景色をアニメーション化するという私の元の問題を解決しておらず、各ボックスはすぐに順番に並んでいます。もう一度、もしあなたが私が意味するものの例を望むなら、私が最初の記事でリンクしたCSS Tricksサイトは、私が探しているものの良い例です。 – mlazim14

+0

@ mlazim14 - 私の答えを更新しました。あなたの探しているものは本当にわかりませんが、それに似た何かを推測していますか? – adeneo

+0

パーフェクト、まさに私が探していたもの。あまりにも多くのadeneoありがとう! :) – mlazim14

関連する問題