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 に答える