Javascript 如何在单击时更改图像

Javascript 如何在单击时更改图像,javascript,image,onclick,Javascript,Image,Onclick,所以我想在单击时更改图像,然后在单击时将其更改回原来的位置。 这是我当前的代码,但由于某些原因它不起作用。我找不出它有什么毛病 var newsrc = "suspects.png"; var newsrc = "questionmark.png"; function changeImage() { if ( newsrc == "suspects.png" ) { document.images["img"].src = "/images/suspects.png"; d

所以我想在单击时更改图像,然后在单击时将其更改回原来的位置。 这是我当前的代码,但由于某些原因它不起作用。我找不出它有什么毛病

var newsrc = "suspects.png";
var newsrc = "questionmark.png";

function changeImage() {
  if ( newsrc == "suspects.png" ) {
    document.images["img"].src = "/images/suspects.png";
    document.images["img"].alt = "suspects";
    newsrc  = "questionmark.png";

  }; else {
    document.images["img"].src = "/images/questionmark.png";
    document.images["img"].alt = "questionmark";
    newsrc  = "suspects.png";
  };
};

我很确定这样很好。。。为什么它不起作用

删除额外的分号
在您的代码中

应该是

function changeImage() {

      if ( newsrc == "suspects.png" ) {
        document.images["img"].src = "/images/suspects.png";
        document.images["img"].alt = "suspects";
        newsrc  = "questionmark.png";

      } else {
        document.images["img"].src = "/images/questionmark.png";
        document.images["img"].alt = "questionmark";
        newsrc  = "suspects.png";
      }
    }

仅在检查源时切换图像

function toggle(){
 var img=document.getElementById('img');
 img.src=img.src=='url1'?'url2':'url1';// needs to be the full url.
}
关于您的代码:

您定义了
newsrc
2次,因此第一个将丢失。
newsrc
始终是“问号.png”

应该是

function changeImage() {

      if ( newsrc == "suspects.png" ) {
        document.images["img"].src = "/images/suspects.png";
        document.images["img"].alt = "suspects";
        newsrc  = "questionmark.png";

      } else {
        document.images["img"].src = "/images/questionmark.png";
        document.images["img"].alt = "questionmark";
        newsrc  = "suspects.png";
      }
    }
}else{

如果设置了
可疑对象
,则单击时需要
问号
,而不是
可疑对象
。因此,请反转
if
内容

应该是

如果怀疑,则问号“其他怀疑”

你有

如果怀疑,则怀疑其他问号

演示


if
块的右括号后面有一个额外的分号,因此可能会产生语法错误。您还尝试两次声明
newsrc
变量,只需声明一次即可。。有趣试着把它加载到一个调试工具(比如firefox和firebug)中,看看JS是否正在爆炸。谢谢!现在它不再给出错误,但由于某种原因它仍然不起作用。if检查应该是反向的。@Coco实际上,这个问题是不明确的,因为OP没有提供足够的代码/上下文来给出一个好的答案。一、 首先,阅读
newsrc
作为“新来源”的缩写。指示单击可能正在将
newsrc
的值设置为这两个值之一,然后由
changeImage()
检查。因此,逻辑将是“如果新源(
newsrc
)是
suspects.png
,则将image
src
属性设置为
/images/suspects.png
”。显然这不是一种很好的做事方式,但我不认为我们可以假设
if
逻辑不正确。是的,对。。。但由于它不起作用,我想这是最明显的…无论如何,我在回答中提到了3个问题。非常感谢!它可以在JSFIDLE上工作,现在已经没有错误了,但是它仍然不能在网站上工作。你知道为什么吗?不可或缺的变量是全局的吗?顺便问一下,你现在用的是什么代码?创建一个JSFIDLE。这就是我现在拥有的。没关系,现在可以用了!我不得不删除一个使用严格的