2015-10-28 43 views
0

我在比較兩個圖像或他們的Id的代碼中的某處出現問題。我不確定我究竟在哪裏搞砸了,但肯定有語法錯誤。我已經嘗試了很多字符串和id比較的選項。我不確定我的功能或參數是否錯誤。字符串/圖像/ ID比較Javascript

<img alt="" src="blah.jpg" style="height: 276px; width: 200px" id="imgClickAndChange1" onclick="changeImage(this)" /> 

<img alt="" src="blah.jpg" style="height: 276px; width: 200px" id="imgClickAndChange2" onclick="changeImage(this)" /> 


<script language="javascript"> 

function changeImage(imagePass) { 

    var num = Math.floor((Math.random() * 48) + 1); 
    var n = num.toString(); 
    var numImg = n.concat(".jpeg"); 
    var string = "/Images/folder/"; 
    var final = string.concat(numImg); 
    if(imagePass.src === "blah.jpg") { 
     var num2 = Math.floor((Math.random() * 48) + 1); 
     var n2 = num2.toString(); 
     var numImg2 = n2.concat(".jpeg"); 
     var final2 = string.concat(numImg2); 
     if(imagePass.id == "imgClickAndChange1") { 
      var image = document.getElementById('imgClickAndChange2'); 
      image.src = final; 
      imagePass.src = final2; 
      if(image.src == imagePass.src) { 
       while(image.src == imagePass.src) { 
        num = Math.floor((Math.random() * 48) + 1); 
        n = num.toString(); 
        numImg = n.concat(".jpeg"); 
        final = string.concat(numImg); 
        image.src = final; 
       } 
      } 

     } 
    } else if(imagePass.id == "imgClickAndChange1") { 
     var image = document.getElementById('imgClickAndChange2'); 
     image.src = final; 
     if(image.src == imagePass.src) { 
      while(image.src == imagePass.src) { 
       num = Math.floor((Math.random() * 48) + 1); 
       n = num.toString(); 
       numImg = n.concat(".jpeg"); 
       final = string.concat(numImg): 
       image.src = final; 
      } 

     } 
    } else if (imagePass.id == "imgClickAndChange2") { 
     var image = document.getElementById('imgClickAndChange1'); 
     image.src = final; 
     if(image.src == imagePass.src) { 
      while(image.src == imagePass.src) { 
       num = Math.floor((Math.random() * 48) + 1); 
       n = num.toString(); 
       numImg = n.concat(".jpeg"); 
       final = string.concat(numImg): 
       image.src = final; 
      } 
     } 
    } 
} 


</script> 

它應該做什麼:屏幕上有兩個圖像。當您單擊圖像時,其他圖像將變爲文件夾內的隨機圖像。同時檢查圖像是不一樣的。 (在剛開始時有兩個屏幕上相同的圖像,當其中一個被點擊的圖像切換到不同的圖像。)

---我應該怎麼做:

var imagePassed = document.getElementById(imagePass); //? 
+0

您可以發佈工作小提琴? – xavdid

+1

@ Xavdidtheshadow - 對不起,我沒有/使用小提琴手 – LearningProcess

回答

0

你最大的問題是語法錯誤,通過使用諸如jslint之類的工具(通過將代碼粘貼到那裏,像我一樣,或使用文本編輯器插件)可以輕鬆避免。在這種情況下,罪魁禍首是一些流氓:底部。

我有你的代碼在這裏的工作副本:https://jsfiddle.net/9Lrjr0zq/

+1

非常感謝你,解決了這個問題。我其實剛剛開始使用JavaScript,所以對任何工具都不太熟悉。我一定會研究它。 – LearningProcess