使用 JS onMouseover 改变图像的不透明度
Using JS onMouseover to change opacity of image
我知道使用 CSS 可以更轻松、更快速地实现这一点。我已经这样做了,但正在尝试学习 Javascript 并且想知道为什么以下内容不起作用?想法是设置一个非常基本的事件处理程序,将鼠标移到图像上会降低图像的不透明度。
function changeClass () {
document.getElementByTagName("img").className += "hover"
}
img.onMouseover = changeClass();
img {
opacity:1;
}
img.hover {
opacity:0.5;
}
<div id="image_wrapper">
<table id="image_table">
<tr>
<td>
<img src="image1.gif" alt="image1" />
</td>
<td>
<img src="image2.gif" alt="image2" />
</td>
</tr>
</table>
</div>
代码应该是
function changeClass () {
var className = document.getElementByTagName("img").className;
if(className.indexOf('hover') == -1) {
//Only add the class name 1 time
document.getElementByTagName("img").className += " hover"
}
}
img.onMouseover = changeClass; //Pass the function as a callback
我知道使用 CSS 可以更轻松、更快速地实现这一点。我已经这样做了,但正在尝试学习 Javascript 并且想知道为什么以下内容不起作用?想法是设置一个非常基本的事件处理程序,将鼠标移到图像上会降低图像的不透明度。
function changeClass () {
document.getElementByTagName("img").className += "hover"
}
img.onMouseover = changeClass();
img {
opacity:1;
}
img.hover {
opacity:0.5;
}
<div id="image_wrapper">
<table id="image_table">
<tr>
<td>
<img src="image1.gif" alt="image1" />
</td>
<td>
<img src="image2.gif" alt="image2" />
</td>
</tr>
</table>
</div>
代码应该是
function changeClass () {
var className = document.getElementByTagName("img").className;
if(className.indexOf('hover') == -1) {
//Only add the class name 1 time
document.getElementByTagName("img").className += " hover"
}
}
img.onMouseover = changeClass; //Pass the function as a callback