2011-07-04 6 views
2

私はhttp://www.rockstargames.com/lanoire/の3番目のボックスにある効果を再現しようとしています。サムネイルをホバリングすると、互いが暗くなります。 はこれを実装するには、標準のJavaScriptに私は次のようにonmouseoverイベントを処理します:JQueryサムネイルホバーの強調表示(他のサムネイルを隠して)

  • する各サムネイルはなく推移した1を介して各サムネイル
  • 反復への参照を取得し、不透明度の値を変更

そして、すべてのサムがリセットされるタイムアウトを設定することにより、onMouseOutイベントを処理します。

私の問題は、JQueryに関する知識がほとんどなく、私のアプローチが正しいかどうかわかりません。私はむしろ、フレームワークで議論を終わらせるためにコードを書くことに飛び乗ることはしません。何か提案はありますか?

答えて

2

あなたのアプローチが正しいか、(あなたはもちろんの1を望んでいない限り)しかし、私はタイムアウトの必要性を見ない

あなたのロジックは、このような何かに変換:

$("img").hover(function() { 
    /* Dim everything but this img: */ 
    $("img").not(this).stop().animate({ opacity: 0.5 }); 
}, function() { 
    /* animate all images back to fully visible. */ 
    $("img").stop().animate({ opacity: 1.0 }); 
}); 

すべてイメージですページの読み込み時およびマウス出力時に表示されます。ホバリングされたイメージではないイメージはグレー表示されます。 http://jsfiddle.net/SJ7bp/

+0

これは、このフレームワークを勉強し、素晴らしいです、それは努力の本当に価値がある:

はここで働い例です。ありがとう。 –

+0

@Davide:問題ありません!便利な学習をして、いくつかの有益なものについてStack Overflowに関する最高の質疑応答を見てください。 ': –

+0

あなたのスクリプトを自由に編集して、それぞれ要素をラップする黒いdivを追加しました。このようにして、イメージは私が望む色に退色します。 –

0

あなたはjqueryのmousenterを使用し、同じロジック

STEP1 implmentするmouseleaveことができます。http://api.jquery.com/mouseenter/

はSTEP2:使用jQueryのこれを、あなたは、各レコードに必要な詳細を取得し、これは詳細を取得します現在のオブジェクトのすべてのプロパティのことができます。

そしてプロパティの

STEP3http://api.jquery.com/css/

0

を設定するためのjQueryの.cssプロパティのそれぞれがopacityを設定し、mouseoverを適用するためのjQueryを使用し、次いで、(例えば.thumbnail用)クラスサムネイル与え、使用各へmouseoutイベント:

$(".thumbnail").css("opacity", "0.5").mouseover(function() { 
    $(this).css("opacity", "1.0"); 
}).mouseout(function() { 
    $(this).css("opacity", "0.5"); 
}); 

あなたはこのでこの作業を見ることができます210。

関連する問題