我有一个页面使用了在页面加载时运行的modernizr.js。在我添加之前,我有一个简单的js时钟脚本运行,以显示加载页面时也加载的时间,但是,因为同时将它们两个添加到页面使一个或另一个停止工作。
我仍然是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不起作用。
由于
答案 0 :(得分: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>
答案 1 :(得分: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/
更新:如果您使用的是IE&lt; 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);
}
答案 2 :(得分:1)
使用这个
function myFunctions() {
function1();
function2();
}
window.onload = myFunctions;