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