Соотношение между объектом поиска и анимацией выглядит немного случайным, поэтому вам, вероятно, придется использовать простую таблицу сопоставления для этого.
var id_map = {
'2': 'two',
'4': 'one',
'5': 'three',
'6': 'four'
};
$('#2, #4, #5, #6').hover(
function() { $('#' + id_map[this.id]).stop().animate({opacity: 1}, 600); },
function() { $('#' + id_map[this.id]).stop().animate({opacity: 0}, 600); }
);
Вы также можете поставить id_map
наисходные элементы, использующие атрибуты данных.HTML-код будет выглядеть примерно так:
<div id="2" data-target="two" >...</div>
<div id="4" data-target="one" >...</div>
<div id="5" data-target="three">...</div>
<div id="6" data-target="four" >...</div>
И jQuery:
$('#2, #4, #5, #6').hover(
function() { $('#' + $(this).data('target')).stop().animate({opacity: 1}, 600); },
function() { $('#' + $(this).data('target')).stop().animate({opacity: 0}, 600); }
);
Если вы присоедините класс к элементам #2
, #4
, ..., тоВы можете упростить селектор:
$('.someClass').hover(
function() { $('#' + $(this).data('target')).stop().animate({opacity: 1}, 600); },
function() { $('#' + $(this).data('target')).stop().animate({opacity: 0}, 600); }
);
Кстати, использование всех числовых атрибутов id
- это плохая идея , они должны начинаться с буквы.