2
的jQuery的優化代碼,這裏是我的代碼:多個懸停
$('.tab_map1 area').hover(function(){
$('#nav1').find('a').stop().toggleClass('hover', 500);
return false;
});
$('.tab_map2 area').hover(function(){
$('#nav2').find('a').stop().toggleClass('hover', 500);
return false;
});
$('.tab_map3 area').hover(function(){
$('#nav3').find('a').stop().toggleClass('hover', 500);
return false;
});
$('.tab_map4 area').hover(function(){
$('#nav4').find('a').stop().toggleClass('hover', 500);
return false;
});
... (there's 8 of them)
我想不再重複相同的代碼多次,但不知何故優化。是否有機會用一些索引值替換.tab_map1-8和#nav1-8?
我想:
var n = 8;
$('li.tab_map area').eq(n).hover(function(){
$('#nav').eq(n).find('a').stop().toggleClass('hover', 500);
return false;
});
和:
$("#navibar ul").each(function(index) {
$('.tab_map:eq(' + index + ') area').hover(function(index){
$('#nav:eq(' + index + ')').find('a').stop().toggleClass('hover', 500);
return false;
});
});
兩個不起作用。
不幸的是,它似乎並沒有工作。我想這是因爲地圖/區域 - 他們很難處理。這裏是活的例子它應該如何工作:http://jsfiddle.net/LsAEu/ – Annaccond
@Annaccond我的壞。我覺得正確的JavaScript循環捕獲問題。這是一個小提琴的作品。我會更新我的回答http://jsfiddle.net/LsAEu/ – JaredPar