Проблема с передачей параметров в цикле.
Здравствуйте.
Образовалась проблема и уже сутки не могу понять в чём дело:( . Хотел реализовать простенькое выпадающее меню (под категориями) при клике. Попробовал сначала вписать параметры прям в функцию:
$(document).ready(function(){
$("li1").click(function(){
$("Ul1").slideToggle('fast');
$(this).toggleClass("active");
return false;
})
})
Естественно всё заработало. Но, как только я попытался передавать параметры в цикле, код перестал работать.
var idName = ['#li1', '#Ul1','#li2', '#Ul2', '#li3', '#Ul3' ];
for(var i = 0; i < 3; i++)
{
$(document).ready(function(){
$(idName[i*2]).click(function(){
$(idName[i*2 + 1]).slideToggle('fast');
$(this).toggleClass("active");
return false;
})
})
}
Что самое любопытное, если указать индекс в массиве явно, не через переменную, а руками, всё работает. Но как только возвращаю 'i' всё летит к чёртовой матери. Никаких ошибках в консоли firefox нет. :help: |
почитайте про $().each(); и $.each();
правильнее наверна пишется:
$(document).ready(function(){//страница полностью загружена
//тут играемся кодом
});
|
возможно, дело в этом?
http://javascript.ru/basic/closure#p...-ispolzovaniya |
Спасибо! В других языках таких "особенностей" не встречал:) . Ещё раз спасибо!
|
| Часовой пояс GMT +3, время: 05:36. |