Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.03.2013, 16:56   #1
erwerwe
Пользователь
 
Регистрация: 13.11.2009
Сообщений: 47
По умолчанию window.onload

Доброго дня.
У меня такой скрипт:
Код:
// JavaScript Document
add_functions_start_on_load(startList);
startList = function() {
if (document.all&&document.getElementById) {
navRoot = document.getElementById("nav");
for (i=0; i<navRoot.childNodes.length; i++) {
node = navRoot.childNodes[i];
if (node.nodeName=="LI") {
node.onmouseover=function() {
this.className+=" over";
  }
  node.onmouseout=function() {
  this.className=this.className.replace(" over", "");
   }
   }
  }
 }
}
window.onload=startList;
window.onload = function() {
    document.getElementById("vs").onmouseover = function() {
        document.getElementById("gs").className = 'myHoverClass';
    }
    document.getElementById("vs").onmouseout = function() {
        document.getElementById("gs").className = '';
    }
	document.getElementById("vs2").onmouseover = function() {
        document.getElementById("gs2").className = 'myHoverClass';
    }
    document.getElementById("vs2").onmouseout = function() {
        document.getElementById("gs2").className = '';
    }
	document.getElementById("vs3").onmouseover = function() {
        document.getElementById("gs3").className = 'myHoverClass';
    }
    document.getElementById("vs3").onmouseout = function() {
        document.getElementById("gs3").className = '';
    }
	document.getElementById("vs4").onmouseover = function() {
        document.getElementById("gs4").className = 'myHoverClass';
    }
    document.getElementById("vs4").onmouseout = function() {
        document.getElementById("gs4").className = '';
    }
	document.getElementById("vs5").onmouseover = function() {
        document.getElementById("gs5").className = 'myHoverClass';
    }
    document.getElementById("vs5").onmouseout = function() {
        document.getElementById("gs5").className = '';
    }
	document.getElementById("vs6").onmouseover = function() {
        document.getElementById("gs6").className = 'myHoverClass';
    }
    document.getElementById("vs6").onmouseout = function() {
        document.getElementById("gs6").className = '';
    }
	document.getElementById("vs7").onmouseover = function() {
        document.getElementById("gs7").className = 'myHoverClass';
    }
    document.getElementById("vs7").onmouseout = function() {
        document.getElementById("gs7").className = '';
    }
	document.getElementById("vs8").onmouseover = function() {
        document.getElementById("gs8").className = 'myHoverClass';
    }
    document.getElementById("vs8").onmouseout = function() {
        document.getElementById("gs8").className = '';
    }
}
Он конфликтует с другими скриптами.
Мне написали:
Цитата:
Ваш js-код меняет обработчик загрузки window.onload . В этом случае нужно переписать код, чтобы он не обращался на прямую к window.onload, а нужно функцию, которая должна запускаться после загрузки сайта, передать функции add_functions_start_on_load() следующим образом:
Код
add_functions_start_on_load(name_fu nction);
Помогите исправить код.
erwerwe вне форума Ответить с цитированием
Старый 25.03.2013, 19:15   #2
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

да вам же четко написали что сделать...
Код:
var megafunc = function() {
    document.getElementById("vs").onmouseover = function() {
        document.getElementById("gs").className = 'myHoverClass';
    }
    document.getElementById("vs").onmouseout = function() {
        document.getElementById("gs").className = '';
    }
	document.getElementById("vs2").onmouseover = function() {
        document.getElementById("gs2").className = 'myHoverClass';
    }
    document.getElementById("vs2").onmouseout = function() {
        document.getElementById("gs2").className = '';
    }
	document.getElementById("vs3").onmouseover = function() {
        document.getElementById("gs3").className = 'myHoverClass';
    }
    document.getElementById("vs3").onmouseout = function() {
        document.getElementById("gs3").className = '';
    }
	document.getElementById("vs4").onmouseover = function() {
        document.getElementById("gs4").className = 'myHoverClass';
    }
    document.getElementById("vs4").onmouseout = function() {
        document.getElementById("gs4").className = '';
    }
	document.getElementById("vs5").onmouseover = function() {
        document.getElementById("gs5").className = 'myHoverClass';
    }
    document.getElementById("vs5").onmouseout = function() {
        document.getElementById("gs5").className = '';
    }
	document.getElementById("vs6").onmouseover = function() {
        document.getElementById("gs6").className = 'myHoverClass';
    }
    document.getElementById("vs6").onmouseout = function() {
        document.getElementById("gs6").className = '';
    }
	document.getElementById("vs7").onmouseover = function() {
        document.getElementById("gs7").className = 'myHoverClass';
    }
    document.getElementById("vs7").onmouseout = function() {
        document.getElementById("gs7").className = '';
    }
	document.getElementById("vs8").onmouseover = function() {
        document.getElementById("gs8").className = 'myHoverClass';
    }
    document.getElementById("vs8").onmouseout = function() {
        document.getElementById("gs8").className = '';
    }
}
add_functions_start_on_load(megafunc);
Ненавижу быть как все, но люблю, чтобы все были как я.

Последний раз редактировалось MyLastHit; 25.03.2013 в 19:49.
MyLastHit вне форума Ответить с цитированием
Старый 25.03.2013, 19:59   #3
erwerwe
Пользователь
 
Регистрация: 13.11.2009
Сообщений: 47
По умолчанию

MyLastHit

Большая благодарность.
erwerwe вне форума Ответить с цитированием
Старый 26.03.2013, 07:36   #4
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Правильней было бы юзать слушателей события... Но всем как всегда ... =)
А упрощенной альтернативой было бы засунуть выполнение функции в конец файла html, DOM-структура к тому моменту уже готова и скрипты выполняются без скрипа и сразу, не дожидаясь загрузки картинок (и прочей мультимедии).
Alar, верни репу!
Naive вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
body onload? А как сделать div.onload? InCun JavaScript, Ajax 10 23.12.2011 11:26
событие onLoad SkrudjMakdak JavaScript, Ajax 1 11.07.2011 03:40
как запустить два события по onLoad? kirosin JavaScript, Ajax 3 28.10.2010 05:32
window.document.write и window.alert() Syltan JavaScript, Ajax 0 26.08.2010 21:32
Immediate Window ZORRO2005 Microsoft Office Excel 1 24.05.2008 16:23