2014-02-11 1 views
1

사용자가 버튼을 클릭하면 var 속도 값이 변경됩니다. 내가 어떻게 할 수 있니? 현재이 라인에 표시된 1000ms // 1 초로 설정됩니다.var 속도 값 onClick을 변경 하시겠습니까?

var increment = setInterval (increment, 1000); // 1 초에 1을 늘리십시오. // 변경하고자하는 부분입니다

버튼을 1000에서 2000으로 변경하고 싶습니다. 나는 그것이 증분 값이라고 생각하십니까? 나는 그저 1000ms의 시간에 숫자를 얻는 속도를 알고 있습니다.

코드 링크 : setTimeout를 사용하는

http://pastebin.com/UPaT9n3F

+0

질문에 코드를 넣습니다. – bjb568

+0

[실행 중 SetInterval의 간격 변경] (http://stackoverflow.com/questions/1280263/changing-the-interval-of-setinterval-while-its-running) – bjb568

답변

0

당신은 간격을 지우고도

$('#element').click(function(){ 
    window.clearInterval(incrementID); // 
    timing = timing + 1000; //this is if you plan to keep adding up. 
    incrementID = setInterval(increment, timing);// if not you can always hardcode 2000 
}); 

다시 만들 수 있습니다

var timing = 1000; 
var incrementID = setInterval(increment,timing); // gain 1 ever second // THIS IS WHAT I WANT TO CHANGE 
//you should change the varname so that you can use the handle to clear the already set interval 
+0

나는 당신의 방법을 사용했지만 슬프게도, 나는 아직 JavaScript에 익숙하지 않고 그것을 거의 이해하지 못했다. 내 코드에서 구현 한 후에 테스트했지만 작동하지 않는다. 나는 내가 볼 수없는 잘못된 것을하고있다. 나는 2 세트의 요금을 제공하고있다. 하나는 석탄이고, 다른 하나는 철입니다. 내가 제공 한 첫 번째 코드는 다음과 같습니다. http://pastebin.com/UPaT9n3F는 철자와 코드가 매우 유사하여 var 이름을 incrementCoal 및 incrementIron으로 변경 한 것입니다. 그게 나쁜 일인지 나는 모르지만 나는 일할 필요가있다. 새 코드는 http://pastebin.com/vQ4yVA1C에 있습니다. – user3295521

0

나는 그것을 바꿀 것입니다. 그래서 :

var increment = setInterval(increment,1000); // gain 1 ever second // THIS IS WHAT I WANT TO CHANGE 
function increment(){ 
    Coal = Coal % 99999999999999999999 + CoalRate; 
    totalCoal = totalCoal % 99999999999999999999 + CoalRate; 
    document.getElementById("Coalcounter").innerHTML="Coal : " + Math.round(Coal); 
    document.getElementById("CoalClickercost").innerHTML="Upgrade Coal Clicker : " + Math.round(CoalClickerPrice); 
    document.getElementById("CoalRatecost").innerHTML="Upgrade Coal Rate : " + Math.round(CoalRatePrice); 
} 

이 될 것입니다 :

var interval = 1000 
function increment(){ 
    Coal = Coal % 99999999999999999999 + CoalRate; 
    totalCoal = totalCoal % 99999999999999999999 + CoalRate; 
    document.getElementById("Coalcounter").innerHTML="Coal : " + Math.round(Coal); 
    document.getElementById("CoalClickercost").innerHTML="Upgrade Coal Clicker : " + Math.round(CoalClickerPrice); 
    document.getElementById("CoalRatecost").innerHTML="Upgrade Coal Rate : " + Math.round(CoalRatePrice); 
    window.setTimeout(interval) 
} 
increment() 

그런 다음 당신의 온 클릭이 같은만큼 간단하게 ..

<button onclick="swapInterval">Swap</button> 

function swapInterval() { 
    if(interval==1000) interval = 2000 
    else interval = 1000 
} 

참고가이 원 ' 현재 루프 (e .지. 2000 년이면 500ms 후에 버튼을 누르십시오. 트리거하기 전에 1500ms를 기다려야합니다.)

+0

알아 두어야 할 가치가 있습니다. 변수와 함수의 이름을 자바 스크립트에서 똑같이 지정하면 잘 작동하지 않을 것입니다. – SpoonNZ