javascript
  • function
  • scope
  • 2013-07-21 4 views -1 likes 
    -1

    변수 "id"를 임의의 숫자로 만들어 이미지를 임의로 선택하는 것이 목표입니다. 문제는 somethings를 사라지게하고 임의의 이미지를 추가하고 "checkAnswer()"함수에서도 사용하는 함수에서이를 사용하는 방법입니다.JS 로컬 및 전역 범위 변수 및 함수

    이 코드가 맞습니까?

    var cobras=new Array(); 
    
    cobras[0] = '<img src="cobra1.jpg">'; 
    cobras[1] = '<img src="cobra2.jpg">'; 
    cobras[2] = '<img src="cobra3.jpg">'; 
    cobras[3] = '<img src="cobra4.jpg">'; 
    cobras[4] = '<img src="cobra5.jpg">'; 
    cobras[5] = '<img src="cobra6.jpg">'; 
    cobras[6] = '<img src="cobra7.jpg">'; 
    cobras[7] = '<img src="cobra8.jpg">'; 
    cobras[8] = '<img src="cobra9.jpg">'; 
    cobras[9] = '<img src="cobra10.jpg">'; 
    cobras[10] = '<img src="cobra11.jpg">'; 
    
    id=Math.floor((Math.random()*10)+1); 
    
    function makeDisappear() { 
        var elem = document.getElementById("main"); 
        elem.style.visibility = "hidden"; 
        var elem = document.getElementById("empty"); 
        elem.style.visibility = "visible"; 
    
        var bodyE1 = document.body; 
        bodyE1.innerHTML += cobras[id]; 
    } 
    
    function checkAnswer(a) { 
        if (a==id) { 
         alert('Correct!') 
        } 
        else { 
         alert('Wrong!') 
        } 
    } 
    

    는 그리고 이것은 내가 checkAnswer 전화 해요 방법은 다음과 같습니다

    <area shape="rect" coords="0,230,190,40" alt="1" onclick="checkAnswer('1')"> 
    
    +0

    코드가 작동합니까? 브라우저 콘솔에 오류가 발생합니까? – Pointy

    +0

    bodyE1.innerHTML + = cobras [id]를 사용하여 새 이미지를 추가하지만 checkAnswer가 작동하지 않습니다. –

    +1

    "checkAnswer"함수가 호출되는 방법을 표시하지 않았습니다. – Pointy

    답변

    0

    window.id 대신 id를 사용하여 시도 적이 있습니까?

    저는 그것이 전역 변수라는 것을 확신합니다.

    관련 문제