无法使用JavaScript更改图像src

时间:2014-07-07 19:53:12

标签: javascript html

我知道有人问过这个问题;而且我已经阅读了大部分被问到的问题都无济于事。我还是遇到了麻烦。我想点击图像并让图像源发生变化(从而改变图像)。

这是我的HTML:

 <img id="picture1" onclick="showHide('builder1'); change('picture1');" width="25" height="25" src="pictures/down.png">

忽略“showHide('builder1');”。它正在发挥作用。我需要帮助改变('picture1')。

这是我的Javascript:

function change(id)
{
   var isDown = true;
   var picture = document.getElementById(id);
   if(isDown === true)
   {
      picture.src = "pictures/pullup.png";
      isDown = false; //No longer a down arrow...
   }
   else
   {
      picture.src = "pictures/down.png";
      isDown = true;
   }
}

我可以将图片更改一次(到'pictures / pullup.png'),但无法将其更改回来。 我还在if / else语句的某些点添加了警报,以查看它在哪里;它甚至从未达到声明中的“其他”部分。

2 个答案:

答案 0 :(得分:7)

var isDown = true;移到函数范围之外 - 在函数之前定义它。

这样,每次运行该函数时,首先将变量设置为true


根据迈克的评论:你也可以使用这样的东西:

picture.src = "pictures/"
               + (picture.src=="pictures/pullup.png" ?
                                                     "pulldown.png"
                                                     : "pullup.png");

如果您不喜欢三元,请使用IF。

答案 1 :(得分:0)

您每次都在同一语句中定义isDown为真。因此它永远不会到达条件语句的else块。