2013-02-04 110 views
1

我有一個頁面,使用頁面加載時運行的modernizr.js。在添加之前,我有一個簡單的js時鐘腳本運行,以顯示加載頁面時加載的時間,但是,因爲同時將它們添加到頁面會使一個或另一個停止工作。我可以運行多個javascript onload嗎?

我還是相當新的JavaScript和我要掌握的規則(自學)。是否有可能在加載時運行兩個腳本,如果是這樣的話?或者,我吠叫錯誤的樹,如果是的話,我的代碼有什麼問題嗎?

這是我有什麼...

<script> 
window.onload = function() { 
    if(window.FileReader && Modernizr.draganddrop){ 
     window.location = "http://www.dentaldigs.co.uk/image_upload.php" 

    } 
}; 
</script> 

<script> 
     // add a zero in front of numbers<10 
     function checkTime(i) 
     { 
     if (i<10) 
     { 
      i="0" + i; 
     } 
     return i; 
     } 

     function clock() 
     { 
     var today=new Date(); 
     var h=today.getHours(); 
     var m=today.getMinutes(); 
     var s=today.getSeconds(); 
     m=checkTime(m); 
     s=checkTime(s); 
     document.getElementById('clock_div').innerHTML=h+":"+m+":"+s; 
     t=setTimeout(function(){clock()},500); 
     } 

</script> 

<body onLoad="clock()"> 
</body> 

有了時鐘腳本modernizr.js不起作用。

感謝

回答

2

你爲什麼不乾脆調用腳本Modernizr的右後添加clock();window.onload

<script> 
window.onload = function() { 
    // loading modernizr 
    if(window.FileReader && Modernizr.draganddrop){ 
     window.location = "http://www.dentaldigs.co.uk/image_upload.php" 
    } 
    // calling your clock script 
    clock(); 
}; 
</script> 
<body> 
    ... 
</body> 
+0

嗨,這就是我一直在尋找,但不太確定如何實現它。唯一的問題是,如果我嘗試添加checkTime()函數不起作用,我不知道爲什麼? – tatty27

+0

不知道,它在這裏工作:http://jsfiddle.net/AGwLE/但你不需要額外的功能。試試這個:http://jsfiddle.net/GYSN8/它的工作原理就像'm =(m <10)? 「0」+ m:m;' – AvL

+0

完美,謝謝! – tatty27

2

而是直接window.onload分配的,你應該使用addEventListener事件綁定。這樣你可以分配多個功能。

window.addEventListener('load', function(){ 
    console.log('first onload'); 
}); 

window.addEventListener('load', function(){ 
    console.log('second onload'); 
}); 

DEMO:http://jsfiddle.net/jjqCX/

UPDATE:如果您使用的是IE < 9,你需要使用attachEvent

function loaded = function(){ 
    console.log('first onload'); 
} 

function loaded2 = function(){ 
    console.log('second onload'); 
} 

if (window.addEventListener) { 
    window.addEventListener('load', loaded, false); 
    window.addEventListener('load', loaded2, false); 
} 
else if (window.attachEvent) { 
    window.attachEvent('onload', loaded); 
    window.attachEvent('onload', loaded2); 
} 

DEMO:http://jsfiddle.net/jjqCX/1/

1

使用這一個

function myFunctions() { 
    function1(); 
    function2(); 
} 
window.onload = myFunctions; 
相關問題