我在两个图像上的 JavaScript 悬停功能遇到了一些问题。当用户将鼠标悬停在箭头图像上时,它应该变成该图像的悬停版本,如果用户单击它,它应该启动另一个 javascript 函数来展开/折叠下面的选项卡。这里是现场直播。问题在于导航下方右侧的箭头。
起初我尝试只使用 HTML 代码(onMouseOver 和 onMouseOut,并且只加载不同的图像)来执行此操作,但是遇到了一个令人讨厌的错误,如果用户将鼠标悬停在第一个箭头上,然后是第二个,然后回到第一个,然后是第二个会完全消失。
现在我尝试使用 JavaScript,但现在您只能看到第一个箭头,如果您将鼠标悬停在它的右侧,它就会消失。
烦人的部分是它在本地服务器上工作得很好,但在 Web 服务器上却不行。我以前没有使用过多的 HTML/Javascript,也从未使用过 JQuery。如果可以通过类似的方法轻松解决此问题,我将非常感谢您提供有关如何做到这一点的帮助。我已经阅读了一些具有 CSS 背景的解决方案,但不认为这会起作用,因为图像也必须作为按钮工作?
这是更改图像的JS代码
var images= new Array();
images[0] = "img/ArrowDown.png";
images[1] = "img/ArrowDownHover.png";
images[2] = "img/ArrowUp.png";
images[3] = "img/ArrowUpHover.png";
function DownChange()
{
document.getElementById("expandAll").src = images[1];
}
function DownGoBack()
{
document.getElementById("expandAll").src = images[0];
}
function UpChange()
{
document.getElementById("collapseAll").src = images[3];
}
function UpGoBack()
{
document.getElementById("collapseAll").src = images[2];
}
这是HTML代码
<div id="collapse">
<img src="img/arrowDown.png" id="expandAll" onMouseOver="DownChange()" onMouseOut="DownGoBack()" onClick="openAll()"></img>
<img src="img/arrowUp.png" id="collapseAll" onMouseOver="UpChange()" onMouseOut="UpGoBack()" onClick="closeAll()"></img>
</div>