2012-03-30 5 views
0

IDがimg01、img02、img03、img04の4つの画像があります。イメージIDを関数に渡し、show/hide();

別の4つの画像が配列に追加され、IDがhover01、hover02、hover03、hover04などの前述の各画像に関連していることが示されます。

それぞれに関連するホバーイメージを表示するための共通の関数を書くにはどうすればよいですか?つまり、マウスが画像の上にくるたびに、引数を関数に渡して表示する必要があります。

希望は意味があります。

+2

は、私はあなたの例を表示するためにhttp://jsfiddle.net/を使用する場合、より多くの – NicoSantangelo

+0

か、少なくとも私たちにいくつかのコードを示して明らかであろうと思います。.. – JKirchartz

答えて

1
$("img[id^=img]").each(function() { 
    var number = (this.id + "").replace("img", ""); 
     relatedImg = $("#hover" + number); 
}); 

$("img[id^=img]")imgで始まるIDを有する全ての画像を選択します。

relatedImgはホバーイメージです。


var getHover = function(myId) { 
    var number = (myId + "").replace("img", ""); 
    return $("#hover" + number); 
} 

var hoverImage = getHover("img01"); 

すでにIDを持っている場合は、ホバー画像を取得するためにgetHoverを使用することができます。

+0

2番目の方法が間違っています、私はあなたの権利を使用することを意味すると思いますか? – musefan

+0

@musefanありがとう、..ちょうどタイプo。今すぐ固定 – andlrc

0

あなたはこのようなIMGタグを持っていたと仮定すると:

​<img class="hoverImage" id="img01" src="xxx">​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ 

をあなたは/、ホバー画像のIDを取得するには、このようなコードを使用末尾から番号を抽出し、その上に新しいプレフィックスを追加して示すことができましたその新たに構築されたIDと画像を隠す:

function makeHoverSelector(str) { 
    var matches = str.match(/\d+$/); 
    if (matches) { 
     return("#hover" + matches[0]); 
    } 
    return("#missingImage"); 
} 

$(".hoverImage").hover(function() { 
    $(makeHoverSelector(this.id)).toggle(); 
});​ 
+0

すべての助けをありがとう..問題を解決しました:) – user1303274

関連する問題