Событие onDomLoad и его реализация

javascript, 13.04.2009 Понедельник, 21:29
Теги: javascript, Уроки, ondomload
     Про это событие уже велся разговор в одной из веток моего блога. Хорошо оно тем, что позволяет выполнить что либо после того, как загрузится структура веб страницы - её DOM древо, но до того, как до конца загрузится контент.

Для выполнения кода после загрузки всего контента используется конструктор вида:
window.onload = function(){ наш код };


     Так вот. Событие ondomload в javascript достаточно легко обработать. В таком популярном фреймворке как JQuery например для этого существует специальная функция вида:
Code
<script type='text/javascript'>
$(document).ready(function(){
  //наш код
  });
</script>
     А если подходить к реализации с точки зрения обычного js (без использования фреймворков) то получается вот такая универсальная функция, которая работает аналогично функции из JQuery:
Code
<script type='text/javascript'>
function domLoad(b){
    function init(){
        if(arguments.callee.done){return}
        arguments.callee.done=true;
        b()
        };
    if(document.addEventListener){document.addEventListener("DOMContentLoaded",init,false)}
    if(/*@cc_on!@*/false){
        document.write("<script id=\"__ie_onload\" defer=\"defer\" src=\"javascript:void(0)\"><\/script>");
        var a=document.getElementById("__ie_onload");
        a.onreadystatechange=function(){
            if(this.readyState=="complete"){
                init()
                }
            }
        }
    if(/WebKit/i.test(navigator.userAgent)){
        var c=setInterval(function(){
            if(/loaded|complete/.test(document.readyState)){
                clearInterval(c);
                init()
                }
            },10)
        }
    window.onload=init
    };
   
// вызывается вот так:

domLoad(function(){ наш код });
</script>
     Используя это событие, код можно помещать не в конец страницы, а в шапку или вообще в любое другое место.

Жми на пятую!
9, 4, 4070
№3
[sayto]Ultra.SmD[/sayto], могу только посоветовать восстановить стандартный шаблон и попробовать снова, но аккуратнее..
№2
[sayto]nemo[/sayto],
> можно я стину пхп скрипт с айлоад?

Не дождешься.

№1
[sayto]Nick[/sayto], Ммм.. вот отличный пример! Не используйте скрипты, смысл которых не понимаете.
    © Блог StudioAD.ru 2024 год нашей эры. Не все права защищены... Копирование любой информации и материалов с обратной ссылкой приветствуется! Хостинг от uCoz.

    Если вам пришлись по душе материалы моего блога - подпишитесь на RSS дабы получать обновления незамедлительно! Я рад что вы читаете и комментируете мои экзерсисы, приятного времяпрепровождения.