2012-05-07 10 views
0

Jqueryとhtml imagemapの組み合わせを使用して、異なる領域にロールオーバーするバナーを作成しています。それの基本的な機能は正常に動作しますが、私はそれをより高度にすることに問題があります。Jquery/imagemapの組み合わせが正しく動作しない

これは、何が起こっているjsfiddle http://jsfiddle.net/2fav4/

あるホバーが正常に動作し、新しい画像が表示され、すべてのことです。ユーザーが画像をクリックすると、その画像はそのまま残っていますが、クリックされた状態が決して消えないという問題があります。ユーザーが画像をもう一度クリックすると、その画像を閉じることができます。

+0

画像に絶対URLを使用する必要がありますので、フィドルに表示されます。私。画像が保存されているURL。 – tw16

+0

チップをありがとう、それは今すべてうまく動作します。 – MWhitmore

+0

次に、質問を削除するか、解決策を下に置き、他の人に受け付ける必要があります。 – tw16

答えて

1

このトリックは.toggleClass()です。大幅に簡素化

、私が手:

jQuery("#map-container area").mouseover(function() { 
    jQuery('.'+$(this).attr('id')+'-map').show(); 
}).mouseout(function() { 
    jQuery('.'+$(this).attr('id')+'-map').not('.selected').hide(); 
}).click(function(){ 
    var regionMap = jQuery('.'+$(this).attr('id')+'-map'); 
    jQuery('#map-container img.region').not(regionMap).removeClass('selected').hide(); 
    regionMap.toggleClass('selected').not('.selected').hide(); 
}); 

fiddle

を参照してくださいあなたは、私はそれが、少なくとも私が見ることができるHTMLで、非機能だとして....listを行うには、すべてを削除することを確認できます。リストの内容が重要な場合は、それを再度追加する必要があります。

+0

素晴らしい、ありがとう! – MWhitmore

+0

または[このわずかに異なるバージョン](http://jsfiddle.net/PPg4D/2/)のように - マウスを使わずに、アクティブな領域を繰り返しクリックすれば、その違いがわかります。 –

+0

もう1つ、青い牛はどうですか? –

関連する問題