2011-08-09 25 views
2

我想選擇我的頁面上的所有圖像,並將函數附加到mouseover事件。這裏是一個jsFiddle顯示你到目前爲止。在JavaScript部分的底部,您可以看到我運行相同的代碼兩次,每個圖像運行一次。在我看來,我應該可以在這裏使用.each()函數,但是我試圖做到這一點,並且無法實現它。這裏有兩個重複調用我想變成一個:jQuery選擇器和一個bug

$("#gen").one('mouseover', function() { runTransfer('gen'); return false; }); 
$("#bo").one('mouseover', function() { runTransfer('bo'); return false; }); 

僅供參考,也有一個錯誤在這裏(不同部分的代碼),我試圖解決......但只有一個問題在一次。 :)

+0

僅供參考而不是**將**回調函數傳遞給'.effect',您正在執行**它。改變你的代碼爲'$(「#」+ imgID).effect(「transfer」,options,1000,function(){afterTransfer(imgID);});' –

回答

3

要字面上回答你的問題,你可以使用multiple selector

$("#gen, #bo").one('mouseover', function() { 
    runTransfer(this.id); 
    return false; 
}); 
+0

不完全是我在找什麼,但它的工作原理。 :) –

0

你可以給圖像一個類,然後在課堂上選擇?

HTML:

<img class="addEventToMe" src="..." alt="..."/> 

的jQuery:

$(".addEventToMe").each(function(elm) { 
    elm.one('mouseover', function() { runTransfer('gen'); return false; }); 
} 
+0

每個圖像都有一個類,這一頁。我不認爲我可以使用你的建議,因爲我的每個圖像都需要一個獨特的類。 –

+0

您的圖片只能分配一個獨特的類別嗎?這不就是id屬性的目的嗎? – Beez

+0

也許......我不是一位CSS專家。 :)這些圖像需要用x/y座標完全放置在頁面上,而我正在使用CSS類。 –

0

下面是一些代碼這樣的伎倆:

$.each(['gen','bo'],function(i,id){$('#'+id).one('mouseover',function(){ 
    runTransfer(id); 
})})