2014-03-05 6 views
1

배열을 두 번째 html 버튼으로 뒤로 이동하려고하지만 몇 가지 이유 때문에이 코드는 div를 원하는만큼 여러 번 같은 색상으로 변경합니다. 지금 당장 의문의 여지는 그것을 뒤집어 쓰거나 줄이는 방법입니다.앞으로 가려면 버튼을, 배열을 뒤로 이동하려면 버튼 하나를 만드시겠습니까?

<head> 

    <title></title> 
    <style>#placeDiv{width:100px;height:100px;}</style> 
    </head> 

    <body> 
    <div id = "placeDiv">ok</div> 
    <button onclick="forward()">Forward</button> 
    <script> 
    var myArray = ["black","yellow","black","red","blue"]; 
    var i = 0; 
    function forward(){ 
    if(myArray.length <= i) i=0; 

     document.getElementById("placeDiv").style.backgroundColor = myArray[i++]; 
     }; 
    </script> 
</body> 
+1

정말 선택을 데모를 가지고있는 JSFiddle 링크 묻고/시도. 우리 한테 줄 수 있다고 생각하세요? – user3334690

+0

배열에 "검은 색"이 두 번 포함되어 있습니다. –

+0

[link] (http://jsfiddle.net/jobson111/84Rwy/) – user2887761

답변

2

나는 당신이 jsfiddle 링크 묻는 일의 전체 올바른 구현을 추가했습니다.

HTML

<div id = "placeDiv">ok</div> 
    <button onclick="forward()">Forward</button> 
    <button onclick="backward()">Backward</button> 

JS

var myArray = ["black","yellow","green","red","blue"]; 
    var i = 0; 
document.getElementById("placeDiv").style.backgroundColor = myArray[i]; 
    forward=function(){ 

     if(i == myArray.length-1) 
     {i=0;} 
     else 
     {i=i+1;} 

     document.getElementById("placeDiv").style.backgroundColor = myArray[i]; 
     }; 
backward=function(){ 

    if(i == 0) 
    {i=myArray.length-1;} 
    else 
    { 
     i=i-1; 
    } 


     document.getElementById("placeDiv").style.backgroundColor = myArray[i]; 


} 

그리고 난 그것이 당신이 무엇에 아니에요

http://jsfiddle.net/96azU/1/

+0

에 정정되면 답변이 도움이된다면 내 대답을 수락하고 투표하십시오. –

+0

충분한 담당자가 없지만 확실히이 답변을 기다리고 있습니다! 고마워. – user2887761

+0

하지만 다시 내 답변을 수락하지 못했습니다. 이유가 무엇입니까? –

1

이 작업을 시도 할 수 있습니다 :

var myArray = ["black","yellow","black","red","blue"]; 

var i = 0; 

function forward(){ 
    if (myArray.length == i) i = 0; 

    document.getElementById("placeDiv").style.backgroundColor = myArray[i++]; 
}; 

function backward(){ 
    if (i == -1) i = myArray.length - 1; 

    document.getElementById("placeDiv").style.backgroundColor = myArray[i--]; 
}; 
+0

중요한 것은 색상의 마지막 위치이지만, 귀하의 도움에 감사드립니다. – user2887761

+0

@ user2887761 심지어 색상의 마지막 위치가 내 대답 –

관련 문제