Несколько функций на событие onLoad
Добрый день!
Помогите навесить несколько функций на событие Пробовал так <script type="text/javascript"> function init(){ startTimer(); startSecund(); startTimerTorgStart(); }; </script> <body onLoad="init()"> и так <script type="text/javascript"> function addEvent(elem, type, handler){ if (elem.addEventListener){ elem.addEventListener(type, handler, false) } else { elem.attachEvent("on"+type, handler); } } function init(){ addEvent('body','load',startTimer()); addEvent('body','load',startSecund()); addEvent('body','load',startTimerTorgStart()); }; </script> <body onLoad="init()"> В 1-м случае функции не срабатывают, во 2-м срабатывает только одна |
addEvent('body','load',startTimer); - убери скобки. ибо ты выполняешь функцию, а надо присвоить
|
можно вот так
init={ startTimer: function(){alert(1)}, startSecund: function(){alert(2)}, iterThis: function(){for(var i in init){ if(i!=="iterThis")init[i]() }}, __proto__: null } onload=init.iterThis Или посмотри на addEventListener, там что то есть, типа load, ЕМНИП. Есть еще onDomContentLoader, но я тонкостей не знаю, п-ть не буду. |
Да, вот так тоже катит. Этот вариант модней, на сегодняшний день, наверное. Очередная свистоперделка EcmaScript, очень_нужная(TM)
startTimer=function(){alert(1)}, startSecund=function(){alert(2)}, window.addEventListener("load", startTimer) window.addEventListener("load", startSecund) |
Кста, твой вариант тоже рабочий, только засунь последнюю инструкцию в скрипт и измени вот так
startTimer=function(){alert(1)} startSecund=function(){alert(2)} function init(){ startTimer(); startSecund(); }; onload=init если надо именно body (кстати, зачем?), сделай document.body.onload=... |
Да, и последнее: смешно, но твой 1 вариант у меня в опере фф и хроме работает:) У тебя там ошибка в другом наверное.
|
Часовой пояс GMT +3, время: 03:17. |