我对 JavaScript 编程很陌生,我正在尝试创建一些脚本,以节省我维护我的一个网站的时间。
现在我在同一个脚本中有两个函数,我从文档的头部调用它们,我试图让它们同时使用 onload 事件处理程序加载。我在我的脚本中使用 window.onload 命令执行此操作(我想让我的脚本尽可能不引人注目,所以我只是在标题中调用脚本)。问题是只有第一个函数加载,第二个没有。可以使用以下方法调用这两个函数:
window.onload=function(){
function1();
function2();
}
还是我需要使用其他代码来完成此操作?
如果您能尽可能简单地解释一下,我将不胜感激,因为我对 JavaScript 和一般编程非常陌生。
PS如果onload无法加载多个功能,请您向我解释为什么会这样,以便我将来知道。
好的,我从答案中看到我的问题可能留下了太多的假设,所以这里是我试图调用的函数的完整代码(这是我在我的 html 文档的头部调用的脚本):
我试图避免将代码放在这里,因为我的变量是用塞尔维亚语编写的(就像我来自塞尔维亚一样),但我希望您仍然能够在没有太多混淆的情况下浏览它。
在下面的代码中,我在脚本底部调用了两个函数(lista() 和 ostale()),而 moveover() 函数只是由 lista() 函数调用的辅助函数。本质上,第一个 (lista()) 列出了 div“boje”(英文翻译为“colors”)的所有元素,并且根据用户将鼠标悬停在上面的颜色,背景图像会发生变化。它还为那些用户应该悬停的图像元素添加了一些属性。第二个(ostale()(翻译成英文“others”)应该只为其余的彩色图像添加属性,如果用户将鼠标悬停在它们上面就不应该做任何事情。但是当我在本地主机中打开页面时它不会在 Firefox 中显示
function lista()
{
var boje = document.getElementById('boje');
var broj = boje.childNodes.length;
for(i=1; i<broj; i++)
{
var stavka = boje.childNodes.item(i);
stavka.setAttribute("id", i);
stavka.setAttribute("onmouseover", "moveover(src)");
stavka.setAttribute("alt", "Boja");
stavka.setAttribute("class", "boja");
stavka.hspace="2";
stavka.height="23";
}
}
function moveover(adresaBoje)
{
var izvor = adresaBoje;
var slika = izvor.slice(0, izvor.length-4);
var pocetak = "url(";
var ekstenzija = ".jpg)";
var novaSlika = pocetak.concat(slika, ekstenzija);
document.getElementById('slika').style.backgroundImage=novaSlika;
}
function ostalo(){
var ostaleboje = document.getElementById('ostale');
var ostalebroj = ostaleboje.childNodes.length;
for(n=1; n<ostalebroj; n++)
{
var ostalestavka = ostaleboje.childNodes.item(n);
ostalestavka.setAttribute("alt", "Boja");
ostalestavka.hspace="2";
ostalestavka.height="23";
}
}
window.onload=function(){
try
{
lista();
ostalo();
}
catch(err)
{
alert(err);
}
}
在我尝试加载页面后,它会提示我一个错误:“TypeError: stavka.setAttribute is not a function”。
这是我试图操作的 html 文档:
<div id="slika" style="background-image: url(images/nova_brilliant/1.jpg)">
</div>
<div id="tekst">
<h1>Nova Brilliant</h1>
<div id="sadrzaj">
<p>Pređite mišem preko željene boje da biste videli kako izgleda ova kuhinja u toj boji:</p>
<div id="boje">
<img src="images/nova_brilliant/1.gif"><img src="images/nova_brilliant/2.gif"><img src="images/nova_brilliant/3.gif">
</div>
<p>Ostale dostupne boje:</p>
<div id="ostale">
<img src="images/nova_brilliant/4.gif"><img src="images/nova_brilliant/5.gif"><img src="images/nova_brilliant/6.gif">
</div>
</div>
</div>