2016-04-06 17 views
0

HALLO Ich bin neu in Javascript und ich möchte ein Javascript auf klicken. Ich habe ein Bild mit 2 anderen Bildern Das erste Bild wird sich ändern, wenn ich auf die anderen 2 klicke, aber das Hauptbild hat eine Zoom-Taste und ich möchte das on-Klick-Skript auch den Href-Link des Zoom-Symbols ändern und ich weiß es nicht Wie kann man mir helfen? Vielen Dank.Javascript OnClick Aktion ändern href

Hier ist mein Code nach einiger Forschung, aber es funktioniert nicht.

<article class="javascript html"> 
 
     <script type="text/javascript"> 
 
    function change(menuId, image, newImage, newUrl) 
 
{ 
 
    var img = document.getElementById(image); 
 
    img.src = newImage; 
 
    document.getElementById('d3').href = newUrl; 
 
} 
 
</script> 
 
     <div class="thumbnail"> 
 
      <div id="main_img"> 
 
      <img id="img" src="assets/example/latest/S8621A.png" alt=""/> 
 
      <div class="caption"> 
 
       <span class="ico-block"> 
 
        <a class="ico-zoom" href="assets/example/latest/S8621A.png" id="d3"><span></span></a> 
 
       </span> 
 
      </div> 
 
     </div> 
 
      </div> 
 
     <div style="text-align:center"> 
 
<div id="thumb_img"> 
 
    <img src='assets/img/fekete.png' onclick='changeImage("assets/example/latest/S8621A.png")' > 
 
    <img src='assets/img/barna.png' onclick='changeImage("assets/example/latest/S8621B.png")' onclick='document.getElementById'("d3").href = '(assets/example/latest/S8621B.png)'> 
 
</div></div> 
 
    </article>

+0

Sie lösen nicht die 'change' Funktionen onclick aus. Sie triggern 'changeImage' ... –

+0

Wie kann ich das dann auslösen? –

Antwort

0

Sie finden die Funktion wie folgt verlangen:

<img src="path/to/image.png" onclick="change()"> 

Der Parameter, das Attribut onclick erwartet, wird change() genannt, und dies wird die Funktion wird es sein Anruf:

function change() { 
    // define here what the function will do... 
} 

Als Ihre Funktion einige Parameter benötigt, können Sie wie folgt vorgehen:

<img src="path/to/image.png" onclick="change(param1, param2, param3, param4)"> 

Die Funktion change() erwartet nun 4 Parameter

function change(param1, param2, param3, param4) { 
    // ... 
} 

Das ist, wie Sie

0
  1. Ihre Funktion definiert beginnen sollte, als changeImage, aber in Ihrem onclick Handler rufen Sie eine Funktion namens change, die nicht existiert.

Lösung: onclick="change( ...

  1. Sie brauchen nicht die zweiten onclick Handler in dem Image-Tag. Die Funktion change enthält den zu tauschenden Code d3 href.

  2. Die Funktion change erwartet 4 Argumente

change(menuId, image, newImage, newUrl)

Sie passieren nur eine in - ein Bild, URL, und weil dies als erstes Argument übergeben wird, wird die Funktion change sieht es als das Argument menuId, und so image, newImage und newUrl sind alle undefiniert.