Проблема с передачей параметров в цикле.
Здравствуйте.
Образовалась проблема и уже сутки не могу понять в чём дело:( . Хотел реализовать простенькое выпадающее меню (под категориями) при клике. Попробовал сначала вписать параметры прям в функцию: $(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, время: 08:39. |