Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   return false, Влияет на вложенные меню (https://javascript.ru/forum/misc/22696-return-false-vliyaet-na-vlozhennye-menyu.html)

Gamestop 29.10.2011 10:34

return false, Влияет на вложенные меню
 
Вот столкнулся с такой проблемой подскажите как это решить

Вот html
<ul class="base" id="base">
<li>
<a href="">главное меню 1</a>
	<ul class="group" id="group">
		<li>
		<a href="">под меню 2</a>
		</li>
		<li>
		<a href="">под меню 2</a>
		</li>
		<li>
		<a href="">под меню 2</a>
		</li>
	</ul>
</li>
</ul>


А вот код javascript:
l.onclick = function(){

	var el = document.getElementById('group')
	var el2 = document.getElementById('base')
	el2 = el2.childNodes[1]
	el2 = el2.childNodes[1]
	alert(el2)
	if(el.style.display == "block")
	{
		el.style.display = ""
		return false;
	}
	if(el.style.display == "")
	{
		el.style.display = "block"
		return false;
	}


}


Видите-ли всё получается, тоесть при клике менюшка сворачивается и разворачивается, но при этом я хочу чтобы в первом меню, ссылка несрабатывала, поетому return false, а получается что и вложенные меню тоже "Подхватывают" этот return false, в скрипте же всё остальное выводится в цикле, поетому пришлось добиратся до нужных элементов вот таким способом, какой наиболее лёгкий и грамотный способ?

monolithed 29.10.2011 12:50

ну так добавите для первого элемента условие

Gamestop 29.10.2011 12:59

всмысле, какое условие, что именно?

monolithed 29.10.2011 13:18

Цитата:

Сообщение от Gamestop
всмысле, какое условие, что именно?

if(элемент !== первый элемент) {
   //тут остальной код.
}

monolithed 29.10.2011 13:23

И вобще для чего такие извращения?

Gamestop 29.10.2011 13:28

извините, но я что-то недогнал, что это за проверка

я буду благодарен если можете показать маленький пример "НЕ ИЗВРАЩЁННОГО КОДА", Просто видите-ли там в цилке скрипт выводит менюшку, каким образом например я могу одной из менюшек <li>, добавить id, ??

monolithed 29.10.2011 13:35

<ul id="menu">
    <li><a href="#">main</a></li>
    <li style="display: none;">
        <ul>
            <li><a href="#">1-st</a></li>
            <li><a href="#">2-nd</a></li>
            <li><a href="#">3-rd</a></li>
        </ul>
    </li>
</ul>

<script>
var menu = document.getElementById('menu'),
    child = menu.getElementsByTagName('li');

child[0].onclick = function() {
    child[1].style.display = child[1].style.display === 'block' ? 'none' : 'block';
    return false;
};
</script>


пример

Gamestop 29.10.2011 13:59

Рахмет братец!!!!

ща заюзаю

что-то я недодумался =)))


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