Javascript 无法让我的HTML onload调用我的JS函数

Javascript 无法让我的HTML onload调用我的JS函数,javascript,html,function,onload,Javascript,Html,Function,Onload,我有一个函数,当我的html页面加载时应该调用它。标签应该调用StartPage函数。然而,什么也没有发生。我不完全清楚为什么。有什么建议吗?这是我的HTML页面中的调用 <body onload="startAdPage();"> 这是changeAd 你的问题就在这里: document.images[0].src = "images/pic" + intNumber + ".jpg"; 您引用了intNumber,但应该使用i。因此,将上述内容更改为 d

我有一个函数,当我的html页面加载时应该调用它。标签应该调用StartPage函数。然而,什么也没有发生。我不完全清楚为什么。有什么建议吗?这是我的HTML页面中的调用

<body onload="startAdPage();">
这是changeAd


你的问题就在这里:

          document.images[0].src = "images/pic" + intNumber + ".jpg";
您引用了intNumber,但应该使用i。因此,将上述内容更改为

document.images[0].src = "images/pic" + i + ".jpg";
您的函数将被调用

您应该考虑删除体标签中的OnLoad,并执行

 window.onload = startAdPage;
相反-将html和Js逻辑分开

此外,您的倒计时逻辑是错误的-您希望减少i,而不是增加:

  var i = 10; i>0; i--

将每个函数的返回值传递给setInterval。将函数引用传递给setInterval,例如,setIntervalchangeAd,changeAd上的2000 no。这使函数调用正确,但它使我的页面崩溃。。。。我想这是因为我的倒计时功能。这可能是对的吗?可能是forvar i=10;i>=1;我++{.你想减少i:i-。我应该把window.onload=startAdPage;?它是你的js的一部分-所以只要把它放在你的js中的任何地方-它会给窗口对象分配一个事件处理程序,它基本上告诉页面在页面打开后执行函数loaded@Historiun-您可以使用window.addEventListener'load',StartPage代替例如:@BirgitMartinelle-我知道这可能是一个愚蠢的问题,但是把它放在.js文件的任何地方,不会让它加载到每个使用该.js的页面上吗?因为它有我在多个页面上使用的函数,每当加载使用该js@Historiun的页面时,就会调用该函数,addEventListener说据我所知,它只在IE9及以上版本中受支持-因为我没有看到任何jQuery,所以我认为应该支持IE legacy,因此window.onload建议
document.images[0].src = "images/pic" + i + ".jpg";
 window.onload = startAdPage;
  var i = 10; i>0; i--