Вы не должны делать hover()
и mouseout()
.
Метод .hover()
принимает 2 функции, представляющие mouseenter
и mouseleave
.
Дайте элементам общий класс, затем извлеките число из идентификатора
$(".someClass").hover(function(e) {
var num = this.id.split('-').pop();
e.preventDefault();
$("#item-text").stop().animate({marginLeft: "0px"});
$("#item-" + num + "-image").animate({opacity: 1});
}, function() {
var num = this.id.split('-').pop();
$("#item-" + num + "-image").animate({opacity: 0});
});
Если по какой-то причине вы не можете добавить класс, вы можете сделать цикл, но вам нужно использовать закрытие javascript, чтобы сохранить значение индекса для обработчиков.
for(var i = 1; i < 11; i++) {
(function( num ) {
$("item-" + i).hover(function(e) {
e.preventDefault();
$("#item-text").stop().animate({marginLeft: "0px"});
$("#item-" + num + "-image").animate({opacity: 1});
}, function() {
$("#item-" + num + "-image").animate({opacity: 0});
});
})( i );
}