2014-07-02 97 views
0

如何将点击事件添加到类'img'的小图标?如果我将光标移动到img元素,它也会闪烁。如何解决它?javascript中的图像覆盖图像

document.getElementsByTagName('img')[0].addEventListener('mouseover', function(e) { 
    var element = document.createElement('div'); 
    element.setAttribute('class', 'img'); 
    this.parentNode.appendChild(element); 
}); 
document.getElementsByTagName('img')[0].addEventListener('mouseout', function(e) { 
    this.parentNode.removeChild(this.parentNode.getElementsByClassName('img')[0]); 
}); 

的jsfiddle:http://jsfiddle.net/MS8F9/

在此先感谢。

+0

你使用jQuery吗? – spongebob

+0

@Moosh,vanilla.js,但我认为没关系。如果您知道如何使用jQuery,请显示您的版本。 – owl

+0

@owl:你为什么不使用古老的纯CSS'?这些日子会更好。您也可以非常轻松地应用动画(例如淡入淡出)。使用JavaScript进行悬停效果就像使用大锤打破螺母一样...... –

回答

4

如果您不需要每次将内部元素添加到DOM中,请通过css :hover这里是fiddle

通常你真的不需要。 DOM修改是昂贵的操作。

+0

+1这将是更好的方法。 –

+0

不错。谢谢。但我对使用javascript的另一个版本感兴趣。 我不明白如何使用js .. – owl

+0

问题是 - 当您将鼠标悬停在内部项目上时,会自动弹出外部项目。在浏览器控制台中检查[this one](http://jsfiddle.net/MS8F9/3/)。处理这件事相当棘手。 – gorpacrate