我遇到了问题,我尝试过几次但结果总是一样,我不知道我的代码有什么问题.如果单击右图,它将变为左图,但如果单击左图,则不会更改为右图,为什么?
这是代码:
这是代码:
function changeImage() { if (document.getElementById("changer").src == "imgs/left.gif") { document.getElementById("changer").src = "imgs/right.gif"; } else { document.getElementById("changer").src = "imgs/left.gif"; } }
和图像src代码在这里:
<img src="imgs/right.gif" id="changer" onclick="changeImage()"/></a>
我需要这个功能:
单击(右箭头图像),然后它将变为(左箭头图像)并再次单击相同(左箭头图像)将返回默认值(右箭头图像).
提前感谢您的时间和帮助.
解决方法
正如Prabu在他的回答中解释的那样,实际的src是绝对路径而不是相对路径.
解决这个问题:
>将元素对象,即this作为参数传递给函数.
>在元素对象内创建变量bln,即该函数中的元素.
<img src="imgs/right.gif" id="changer" onclick="changeImage(this)" /> ^ pass the element object
function changeImage(element) { element.src = element.bln ? "imgs/right.gif" : "imgs/left.gif"; element.bln = !element.bln; /* assigns opposite boolean value always */ }
上面的函数将切换图像src,而不依赖于src属性中存在的值.
顺便说一句,您也可以使用CSS执行此操作: