Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Скрипт меню-гармошки работает выборочно (https://javascript.ru/forum/dom-window/2883-skript-menyu-garmoshki-rabotaet-vyborochno.html)

Extern 21.02.2009 14:10

Скрипт меню-гармошки работает выборочно
 
Добрый день.
Возникла проблема с тем что меню то работает то не работает, смотря в какой части страницы его подключать.
Подробнее:
Есть скрипт меню-гармошки (работает на jquery):
<script type="text/javascript" >
	
		function initMenu() {
		$('#menu ul').hide();
		$('#menu li p').click(function() {  $(this).next().slideToggle('normal');   }	);

		}
	
		$(document).ready(function() {initMenu();};
	</script>

И соответственно элементы с которыми он взаимодействует:
echo '<div>';
echo '<ul id="menu" >';
...
динамическое создание элементов меню
...
echo '</ul>';
echo '</div>';


Это все находиться в одном файле, допустим menu.php, который инклудится в нужное место. Теперь самое интересное, если включить его на место, где должно быть меню, то меню выводиться, но не раскрывается, т.е. сам "аккордеон" не работает. В случае подключения данного файла в тело тестовой страницы все работает замечательно.

Проверял уже все, даже не знаю в чем может быть проблема. Подскажите как разрешить данную ситуацию.

Extern 23.02.2009 11:51

25 просмотров, но ниодного ответа. Попробую перефразировать вопрос: В каком случае функция может работать в одном участке кода и не работать в другом? (как определить область функционирования?)

Extern 23.02.2009 15:32

Разобрался.
Кому интересно - заработало вот так:
<script type="text/javascript" >
function initMenu() {
$('#menu ul').hide();
$('#menu li p').click(
function() {
var checkElement = $(this).next();
checkElement.slideToggle('normal');
}
);
}
$(document).ready(function() {initMenu();});
</script>



p.s. Наверное исходя из решения проблемы эту тему нужно перенести в раздел jquery.


Часовой пояс GMT +3, время: 18:37.