-1

JavaScript 新手,需要帮助...

我有一张在点击时会改变的图像:

<img alt="" src="header.gif" id="imgClickAndChange" onclick="changeImage()"/>
</p>
    <script language="javascript">
      function changeImage() {

    if (document.getElementById("imgClickAndChange").src == "brain.gif") 
    {
        document.getElementById("imgClickAndChange").src = "brain.gif";
    }
    else 
    {
        document.getElementById("imgClickAndChange").src="brain.gif";
    }
}   </script>

但我想点击brain.gif 链接到一个名为#two 的div。如何使该新元素成为链接?

4

2 回答 2

1

这不是很优雅,但它是你想要的,我相信?我将点击处理程序移到了 HTML 之外,您可以进行一些清理,例如存储 imgClickAndChange 而不是每次都查找它,但您肯定明白这一点!

HTML:

<img alt="" src="header.gif" id="imgClickAndChange" />

JavaScript:

 function changeImage() {

      if (document.getElementById("imgClickAndChange").src == "brain.gif") {
          document.location.hash = "#something"; // this will jump you down the page to an element with ID of "something"
      } else {
          document.getElementById("imgClickAndChange").src = "brain.gif";
      }
  }

  var img = document.getElementById("imgClickAndChange");
  img.onclick = changeImage;
于 2013-06-24T20:20:36.250 回答
1

您必须将图像包装在锚标签中,这样您就可以设置href锚点。此外,您应该传递this给您的onclick

HTML:

<a href="#test"><img alt="" src="header.gif" id="imgClickAndChange" onclick="changeImage(this)"/></a>

JS:

function changeImage(obj) {
    if (obj.src == "brain.gif") 
    {
        obj.src = "brain.gif";
    }
    else 
    {
       obj.src="brain.gif";
    }

    //Change the href of the anchor
    obj.parentNode.href = "#two";
    console.log(obj.parentNode.href);
}
于 2013-06-24T20:29:24.993 回答