首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试让图像在单击时在两个不同的源文件之间切换

问尝试让图像在单击时在两个不同的源文件之间切换
EN

Stack Overflow用户
提问于 2012-06-25 10:33:49
回答 3查看 2.1K关注 0票数 0

当涉及到JS时,我是一个普通的新手。

我正在尝试编写一些javascript,这样当我点击一张图片时,它会切换到另一张图片。然后,当我再次单击它时,我希望图像切换回原始图像,依此类推。这是我写的简单的Javascript函数,希望能实现这一点。

代码语言:javascript
复制
function diffImage(item) 
{
if(document.getElementById(item).src == "blank.jpg")
    {
        document.getElementById(item).src = "black.jpg";
    }
else
    {
        document.getElementById(item).src = "blank.jpg";
    }

}

下面是有问题的图片的标签:

代码语言:javascript
复制
<img src="black.jpg" id="image1" onclick=diffImage("image1")>

遗憾的是,它不起作用。我做错了什么?

EN

回答 3

Stack Overflow用户

发布于 2012-06-25 10:37:34

除了在dragon66和snies的评论中提到的引号问题之外,if条件语句可能不会执行您想要的操作,因为在javascript中调用element.src将返回完整的URL,而不仅仅是图像名称。因此,您需要使用split和pop来获取如下所示的镜像名称。

代码语言:javascript
复制
function diffImage(me){
    if(me.src.split("/").pop() === "blank.jpg"){
        me.src = "black.jpg";
    }
    else {
        me.src = "blank.jpg";
    }
}

你的HTML就会变成..。

代码语言:javascript
复制
<img src="black.jpg" id="image1" onclick="diffImage(this);">
票数 1
EN

Stack Overflow用户

发布于 2012-06-25 11:48:37

票数 0
EN

Stack Overflow用户

发布于 2012-06-25 12:02:19

代码语言:javascript
复制
function diffImage(img) 
{
    if(img.src.match(/blank/)) img.src = "black.jpg";
    else img.src = "blank.jpg";
}

HTML

代码语言:javascript
复制
<img src="black.jpg" id="image1" onclick=diffImage(this) />​
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11182873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档