【发布时间】:2017-06-07 13:36:47
【问题描述】:
我希望从按住单击时更改按钮的图像,然后在单击释放时更改回来。我目前有一个平面图像,我希望它变成一个带有内阴影的图像,使它看起来像一个按钮按下,但是当鼠标点击被释放时又变回原来的平面图像。我试过 onmouseup 但我认为我使用不正确。我希望"item" 和"item2" 在单击时保留其图像,并且可以正常工作。但是,我希望 "item3" 在鼠标释放后变回,或者在被点击后立即变回。
(编辑:我是 JavaScript 新手,它不一定是 onmouseup 解决方案。如果有人可以解释如何创建一个执行此操作的函数,那就太好了。)
JS:
var onImgStp= "images/stop.png";
var onImgPnk= "images/pink.png";
var onImgMut= "images/mute.png";
var offImg= "images/green.png";
var offImgStp= "images/stop2.png";
HTML:
<img class="item" src="images/pink.png" onclick="manage(1); this.src = (this.src.endsWith(offImg)? onImgPnk : offImg);"/>
<img class="item" src="images/pink.png" onclick="manage(2); this.src = (this.src.endsWith(offImg)? onImgPnk : offImg);"/>
<img class="item" src="images/pink.png" onclick="manage(3); this.src = (this.src.endsWith(offImg)? onImgPnk : offImg);"/>
<img class="item" src="images/pink.png" onclick="manage(4); this.src = (this.src.endsWith(offImg)? onImgPnk : offImg);"/>
<img class="item" src="images/pink.png" onclick="manage(5); this.src = (this.src.endsWith(offImg)? onImgPnk : offImg);"/>
<img class="item" src="images/pink.png" onclick="manage(6); this.src = (this.src.endsWith(offImg)? onImgPnk : offImg);"/>
<img class="item" src="images/pink.png" onclick="manage(7); this.src = (this.src.endsWith(offImg)? onImgPnk : offImg);"/>
<img class="item" src="images/pink.png" onclick="manage(8); this.src = (this.src.endsWith(offImg)? onImgPnk : offImg);"/>
<img class="item2" src="images/mute.png" onclick="this.src = (this.src.endsWith(offImg)? onImgMut : offImg);"/>
<img class="item3" src="images/stop.png" onmouseup="this.src = (this.src.endsWith(offImgStp)? onImgStp : offImgStp);"/>
【问题讨论】:
-
“click”事件是由于 mousedown/mouseup 对而发生的。
-
如果您想使用 mouseup 事件,请移除 onclick 事件。
-
我是 JavaScript 新手,它不一定是
onmouseup解决方案。如果有人可以解释如何创建一个执行此操作的函数,那就太好了。 -
@NathanWilson 我认为你不需要 javascript,你可以使用 css :active
标签: javascript button onclick onmousedown onmouseup