1

我有一个使用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 不起作用。

谢谢

4

3 回答 3

2

window.onload您应该使用 绑定事件,而不是直接分配给addEventListener。这样您就可以分配多个功能。

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

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

演示:http: //jsfiddle.net/jjqCX/

更新:如果您使用的是 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);
}

演示:http: //jsfiddle.net/jjqCX/1/

于 2013-02-04T16:30:25.303 回答
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>
于 2013-02-04T16:29:59.010 回答
1

用这个

function myFunctions() {
  function1();
  function2();
}
window.onload = myFunctions;
于 2013-02-04T16:31:19.390 回答