2017-02-08 2 views
1

자바 스크립트를 사용하는 웹 페이지에서 작업 중이며 버튼을 클릭 할 때마다 버튼 안의 텍스트가 다음 텍스트로 변경됩니다. 버튼을 클릭 할 때 다른 기능을 실행합니다.

현재 나는 (또한 데모가 무슨 뜻인지 설명하기 위해) 이런 식으로 일을 해요 :

var textCount = 0; 
function changeText() { 
    var myText = document.getElementById("demo"); 
    switch (textCount) { 
    case 0:{ 
     myText.innerHTML = "This is the second text"; 
     textCount++; 
    } 
    break; 
    case 1: { 
     myText.innerHTML = "This is the third text"; 
     textCount++; 
    } 
    break; 
    case 2: { 
     myText.innerHTML = "It keeps going on like this"; 
     textCount++; 
    } 
    break; 
    } 
} 

CodePen.io는 기본적으로 나는 switch 문에 의해 단계를 갈 수있는 카운터를 사용 단계.

나는이 작업을 수행하는 생각할 수있는 또 다른 방법은 모든 텍스트를 유지하는 배열을함으로써이며이 (더 효율적인 것)을 통해 내 기능은 그냥 가서


  • 하지만 여전히 원하는 당신이 순수한 자바 스크립트로 이것을 달성 할 수있는 다른 방법이 있다는 것을 알기 위해 (비록 명백하지만).

미리 감사드립니다.

+0

HTTP : //codereview.stackexchange.com/). – SimpleJ

+0

고마워,하지만 내가 대답을 찾은 것 같아. :) –

답변

3

당신은, 당신은 청소기 올바른 할 수 있습니다 & 예를 들어, 배열을 사용하여보다 효율적인 코드가 작동하는 경우

는이 질문합니다 ([코드 리뷰 스택 교환] 더 적합
let list = ['Message one', 'Message two', 'Message three', 'Message four']; 

let counter = 0; 

function clickHandler() { 
    element.textContent = list[counter]; 
    counter = (counter + 1) % list.length; // If you want to loop messages, otherwise ++ 
} 
+0

고마워. 대답 : –

+0

@DanielD. 천만에요! 그것이 당신의 문제를 해결했다면 그것을 받아들이는 것을 잊지 마십시오. 감사! – Hatchet

+0

그래, 그냥 받아들이는 한 쪽 질문으로 표시했습니다. '% list.length'는 정확히 무엇을합니까? 어떻게 내 목록을 되 돌리시겠습니까? –

관련 문제