Показать сообщение отдельно
  #1 (permalink)  
Старый 14.04.2011, 17:35
Интересующийся
Отправить личное сообщение для Nitro_Generate Посмотреть профиль Найти все сообщения от Nitro_Generate
 
Регистрация: 14.04.2011
Сообщений: 20

Замена body onload
Здравствствуйте.
Имеется скрипт, который скрывает и открывает некоторые меню.
function SwitchMenu(obj) {
	if (document.getElementById) {
		var el = document.getElementById(obj);
		var ar = document.getElementById("cont").getElementsByTagName("div");
		if (el.style.display == "none") {
			for (var i=0; i<ar.length; i++) {
				ar[i].style.display = "none";
			}
			el.style.display = "block";
		} else {
			el.style.display = "none";
		}
	}
}

Он вызывается в тэге <body>
echp "<BODY onload=\"SwitchMenu('sub".$cat_nav['id']."')\"></body>";

Собственно $cat_nav['id'] - обозначает категорию, в которой мы находимся (что бы та была раскрыта).
Проблема в том, что при использовании onload браузер для выполнения скрипта ожидает полной загрузки страницы. Иногда бывает что эта загрузка очень сильно затягивается.
По этому возникает вопрос, как и чем заменить onload ? Что бы SwitchMenu выполнялось без ожидания, а мгновенно.
Мои знания JS почти 0. И попробовав этот вариант
<script>SwitchMenu('sub".$cat_nav['id']."');</script>

Результата нет.
Ответить с цитированием