0
<IMG onmouseover="document.swap2.src='http://www.grlf.com/pics/png';" id="brewmp" alt=Brew src=changeOSImage() width=26 height=24>


function changeOSImage() {
    var mp_os = "x";

    if (mp_os) == "Brew MP") {
        document.getElementById("brewmp").src = "http://www.greengo-cellular.com/ebay_files/images/features_n_02.png";
    } else {
        document.getElementById("brewmp").src = "http://www.greengo-cellular.com/ebay_files/images/features_02.png";
    }
};

由于某种原因,而不是更改 url,url 在其中显示函数名称(因此导致无处可去)。我做错了什么?

4

3 回答 3

3

您不能在src图像的属性中指定函数。

尝试将changeOSImage()函数放在onload文档的事件中,或从其他函数调用它。

于 2013-05-16T22:08:36.703 回答
0

如前所述,图像的 src 不能是函数。我也看不到您的代码中 document.swap2 实际指的是什么。尝试类似的东西

  <img id="brewmp" src="http://www.grlf.com/pics/png" />

  <script>
  window.onload = (function(){
         var mp_os = 'x';
         document.getElementById('brewmp').onmouseover = (function(){
              this.src = 'path/to/different/image';
         });
  });
  </script>

我不确定 mp_os 在您的初始代码中指的是什么,因为它设置为 x 并且您永远不会更改它,而且它是在您的函数范围内定义的,这意味着在这种情况下它将始终为“x”。上面应该给你一个很好的起点来添加你的“if”语句,但是你应该在函数之外声明 var mp_os

于 2013-05-16T22:17:58.237 回答
0

如其他答案所述,您的 if 语句中有一个额外的 ) 。试试这个:

示例:JsFiddle

JavaScript(添加在里面<head></head>):

<script>
var mp_os = '';

function changeImage(){

    if (mp_os == "Brew MP") {
        mp_os = "x";
        document.getElementById("brewmp").src = "http://png-5.findicons.com/files/icons/75/i_like_buttons_3a/512/perspective_button_stop.png";
    } else {
        mp_os = "Brew MP";
        document.getElementById("brewmp").src = "http://icons.iconarchive.com/icons/mazenl77/I-like-buttons-3a/512/Perspective-Button-Go-icon.png";
    }

}
</script>

HTML:

<img onmouseover="changeImage()" onmouseout="changeImage()" id="brewmp" alt="Brew" src="http://png-5.findicons.com/files/icons/75/i_like_buttons_3a/512/perspective_button_stop.png" width="20%">
于 2013-05-16T22:19:56.610 回答