Помощь с циклом
var articlesn = $(".article").length; for(var i=1;i<=articlesn;i++){ $("#art"+i).mouseover(function() { $("#desc"+i).show(0); }); $("#art"+i).mouseout(function() { $("#desc"+i).hide(0); }); } Известно, что элементов с классом article - 12. Но по работе данного скрипта стало ясно, что в цикле он присваивает переменной i значение 13. Как сделать так, чтобы в цикле значение переменной i увеличивалось постепенно (собственно, как и должно быть)? |
var articlesn = 12; for(var i=1;i<=articlesn;i++) { alert(i); } С циклом-то у тебя все в порядке. У тебя в другом месте проблема. Смотри - ты пробегаешься по элементам и назначаешь им обработчик события function() { $("#desc"+i).show(0); } , но этот обработчик выполняется не сразу, а только при наведении мышкой. Естественно, там значение переменной i уже совершенно другое. Вообще, внутри всевозможных обработчиков событий всегда доступна переменная this, в которой содержится ссылка на элемент, которому этот обработчик принадлежит. Попробуй достучаться до нужного desc, используя данные art, на который наводится мышка. Если не получается достучаться внутри функции, то функцию можно сгенерировать динамически во время выполнения цикла с помощью new Function вот таким образом: new Function("", "$('#desc"+i+"').hide(0);") При этом в тело функции будет включена не сама переменная i, а ее значение, и все пройдет, как надо. |
noak96,
использовать .each вместо for раз у вас jquery и незнаите это Пример ошибочного использования |
noak96,
да и цикл вам ненужен скорее всего он даже лишний -- приведите структуру с чем работите? |
рони, выведены список материалов. При наведении по каждому, должна плавно отображаться определенная информация, а затем снова исчезать.
Получается, нужно к каждому материалу присваивать уникальное число, чтобы затем, при событии MouseOver и MouserOut срабатывали функции. А чтобы для каждого материала не писать эти функции с событиями, я понял, что удобнее будет написать цикл. |
noak96,
советы как это сделать циклом выше -- без цикла если интересно нужна структура |
noak96,
и лучше использовать классы а не id |
Цитата:
|
Цитата:
|
|
Часовой пояс GMT +3, время: 22:57. |