2012-04-13 13 views
-2

my pageにマウスを重ねると、右側のハイパーリンクがホバースタイルに変わります。誰かがどのようにして逆のことが起こるかを提案することができますか?右側のハイパーリンクの1つをホバーすると、状態が強調表示されます(状態そのものをホバーするときのように)?マウスオーバーでハイライトを作成するにはどうすればよいですか?

+2

逆の操作を行うだけです。 – xdazz

+1

@ Jeffあなたの親切にあなたのポストを更新して、mouseoverとmouseoutに適用できるコードを含めることができますか?また、イメージマップ用のHTMLソースと、リンク用のHTMLサンプルがいいでしょう。 StackOverflowへようこそ。 – rlemon

+0

質問がなくても将来の読者には質問は役に立たなくなりました。良い仕事のOP! – Sparky

答えて

1

非常に単純にjQueryの.trigger()を使用します。

例:$('#A0').trigger('mouseover');は、マップ(ワシントン)の最初の要素を強調表示します。

だから、mouseoverイベントにこれを追加することができ<a class="staffs staff-A0" href="#">Washington</a>

var map_element_id = '#' + this.className.split('-')[1]; 
$(map_element_id).trigger('mouseover'); 

と同様に処理する必要れるonmouseoutもちろんを。 map_element_id変数の割り当てを処理する多くの方法があります。私は別の属性を割り当てることをお勧めしますこれはクラス名(おそらくデータマップID?)ではなく、これを格納する。 ' - 'で分割すると、この例でも動作しますが、 ' - 'を含む要素にクラス名を追加すると、これは失敗します。

+0

うん、あなたはポイントですか? – rlemon

+0

マップIDが 'A0'でない 'starff-A0' – rlemon

+0

ああ...今すぐ取得しました;私の悪い;) – Starx

0

マップ領域のIDを取得し、mouseoverイベントをトリガーします。

$('.staff').mouseover(function() { 
    var id = $(this).attr("class").split("-")[1]; 
    $("#"+id).trigger('mouseover'); 
}); 
+0

ネイティブメソッドを使用するときにjQueryを使用して 'this'をすべてラップするのはなぜですか? this.className.split( ' - ')[0];パフォーマンスが低下して2人で何をするのかを1行で示します(この例では重要ではありません)。私たちは時間がかかり過ぎて – rlemon

+0

@rlemonで物を包み込むのが速すぎますが、この場合、その近くの無視できるものは – Starx

+0

ですが、良い習慣を学ぶことは決して無視できません:Pこれは悪い習慣。 – rlemon

関連する問題