Это как сделать цикл в JavaScript:
for(var i = 1; i < 8; i++)
Нет Jquery не требуется.
Кроме того, вы используете числа как идентификаторы для ваших элементов dom, что является недопустимым. Идентификаторы должны начинаться с буквы.
Кроме того, эти внутренние функции используют переменную вашего цикла, которая не будет работать; вы завершите работу с каждым обработчиком, пытающимся выбрать элемент 8, поскольку каждый обработчик закрывается над i
.
Чтобы передать текущее значение переменной меняющейся петли к основному обработчику событий, вы должны «разорвать замыкание», как это:
$("#el"+i).hover(
(function(local_i) { return function() { $("#el"+ local_i).stop().animate({left:"50px"}); } })(i),
(function(local_i) { return function() { $("#el" + local_i).stop().animate({left:"30px"}); } })(i)
});
Но вы на самом деле просто захватывая вещь, которую вы «вновь парит над, так:
$("#"+i).hover(function() {
$(this).stop().animate({left:"50px"});
},
function() {
$(this).stop().animate({left:"30px"});
});
Должно работать нормально
Пожалуйста [форматировать Ваш вопрос и код] (http://stackoverflow.com/editing-help), так что другие люди могут читать. –
Это можно сделать с помощью CSS. Нет необходимости в jQuery ... –
1) Используете ли вы числовой идентификатор? 2) для тега имеет значение $ - должна быть ошибка. – Anthony