Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Проблема со списками в Opera (https://javascript.ru/forum/css-html/4633-problema-so-spiskami-v-opera.html)

goro_68 10.08.2009 00:25

Проблема со списками в Opera
 
Вложений: 1
Проблема следующего рода: левое меню в виде раскрывающегося списка.
При нажатии на пункты появляются подпункты.
Определение списка:
<ul id="menuList">
        	<li id="item1"><a href="#" onclick="refreshDivs(1)">Item 1</a></li>
            	<ul id="item1List" style="display:none;">
                	<li id="item1_1"><a href="#">Item 1.1</a></li>
                    <li id="item1_2"><a href="#">Item 1.2</a></li>
                    <li id="item1_3"><a href="#">Item 1.3</a></li>
                </ul>
            <li id="item2"><a href="#" onclick="refreshDivs(2)"> Item 2</a></li>
               	<ul id="item2List" style="display:none;">
                	<li id="item2_1"><a href="#">Item 2.1</a></li>
                    <li id="item2_2"><a href="#">Item 2.2</a></li>
                    <li id="item2_3"><a href="#">Item 2.3</a></li>
                </ul>

.... и т.д.

обработчик клика:
function refreshDivs(blockNumber)
{	
	switch (blockNumber)  
	{
		case 1: 
			if (document.getElementById("item1List").style.display == "block")
			{
				document.getElementById("item1List").style.display = "none"
			} else
			{
				document.getElementById("item1List").style.display = "block"
			};
			break;
		case 2: 
			if (document.getElementById("item2List").style.display == "block")
			{
				document.getElementById("item2List").style.display = "none"
			} else
			{
				document.getElementById("item2List").style.display = "block"
			};
			break;

... и т.д.



Все отлично работает в браузерах IE 6.0, Firefox 2.0, Safari 3.2.1, а вот Opera 9.26 - проблемы! Список не разворачивается! Причем такая проблема возникает если обрабывать щелчок на элементе списка. Если функцию вызывать допустим из щелчка на кнопках, то код работает!

Помогите понять в чем дело!

goro_68 10.08.2009 09:21

Попробывал на работе на Opera 9.27 - все работает! Как сделать чтобы этот код был универсальным под все браузеры?

B~Vladi 10.08.2009 11:31

Отформатируйте код в своём посте.

JSprog 17.08.2009 13:35

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.


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