微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery – 如何更改图像onclick javascript函数?

我遇到了问题,我尝试过几次但结果总是一样,我不知道我的代码有什么问题.如果单击右图,它将变为左图,但如果单击左图,则不会更改为右图,为什么?
这是代码
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属性中存在的值.

Sample Fiddle

顺便说一句,您也可以使用CSS执行此操作:

Working Fiddle

原文地址:https://www.jb51.cc/jquery/180804.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐