Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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>

Результата нет.
Ответить с цитированием
  #2 (permalink)  
Старый 14.04.2011, 20:27
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

ну поставь содержимое функции в теле страницы-выполниться раньше чем документ будет загружен
Ответить с цитированием
  #3 (permalink)  
Старый 14.04.2011, 23:58
Аспирант
Отправить личное сообщение для firstchild Посмотреть профиль Найти все сообщения от firstchild
 
Регистрация: 31.07.2010
Сообщений: 94

Сообщение от Nitro_Generate Посмотреть сообщение
<script>SwitchMenu('sub".$cat_nav['id']."');</script>

Результата нет.
Вызов поставить в теле страницы после отрисовки вызываемого элемента, хотя по мне это ГК какой-то. Не проще css -ами управлять, а уж когда загрузиться тогда и ?, хотя я смотрю здесь один фиг ГК, так что работать должно.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
onload - не успевает? bookworm jQuery 12 13.01.2011 21:38
код между body и body ie7 не видит alexandr_poskrobka (X)HTML/CSS 2 09.03.2010 18:35
Координаты body относительно окна при margin auto varanio Events/DOM/Window 2 19.02.2010 10:28
Автоматическая отправка формы через JavaScript без использования body onload pavluxa09 Общие вопросы Javascript 0 17.11.2009 15:55
Определение координат body. Kolyaj Events/DOM/Window 10 04.04.2009 16:20