我们正在制作一个广告div,我们在鼠标悬停和鼠标移除时会发生这种功能。问题是我不能在同一页面上运行多个这些函数,我想因为它没有ID。
代码是
Function mouseOver ()
{
document.getelementbyid("flashdiv").classname="flash-abg";
}
Function mouseOut ()
{
document.getelementbyid("flashdiv").classname="flash-I";
}
那么我将如何在一个页面上运行其中两个,我在iPad上很难在这里设置样式等等。所以道歉。
基本上上面的代码伴随着HTML和CSS来显示广告div上的悬停效果,我们所有div都单独正常工作,但因为我们没有我的功能,当我们有更多功能时它们不能正常工作比一页上的一个。你可以看到我是js的垃圾。
答案 0 :(得分:4)
如果您希望将相同的函数绑定到不同的元素,如果correclty绑定,则此是对事件源(事件附加到的div)的引用。这应该允许您将相同的函数绑定到不同的元素。在您的代码中,只需将 document.getelementbyid(“flashdiv”)替换为 this 。
答案 1 :(得分:1)
假设这些是事件处理程序,我们错过了注册它们的代码。您可以编写一个函数,该函数以下列方式返回一个div的事件处理程序:
function createMouseOver(id) {
return function () {
document.getelementbyid(id).classname="flash-abg";
}
}
然后注册createMouseOver('someid')的结果,这是一个在闭包中具有正确id的函数。
或者,不要使用id并按类查找所有广告div,并为类找到的所有元素注册事件处理程序。