给这个函数一个id

时间:2011-08-15 02:09:32

标签: javascript

我们正在制作一个广告div,我们在鼠标悬停和鼠标移除时会发生这种功能。问题是我不能在同一页面上运行多个这些函数,我想因为它没有ID。

代码是

Function mouseOver ()
{
    document.getelementbyid("flashdiv").classname="flash-abg";
}
Function mouseOut ()
{
    document.getelementbyid("flashdiv").classname="flash-I";
}

那么我将如何在一个页面上运行其中两个,我在iPad上很难在这里设置样式等等。所以道歉。

基本上上面的代码伴随着HTML和CSS来显示广告div上的悬停效果,我们所有div都单独正常工作,但因为我们没有我的功能,当我们有更多功能时它们不能正常工作比一页上的一个。你可以看到我是js的垃圾。

2 个答案:

答案 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,并为类找到的所有元素注册事件处理程序。