2011-08-15 2 views

답변

2

당신이해야 할 노력하고 있지만,이 도움이 될 것을 100 % 분명하다

var timer; 
var imageNumber = 0; 

$('#pause_button1').click(function() { 
    startWorking(); 
}); 

$('#pause_button').click(function() { 
    if (timer) { 
     clearTimeout(timer); 
     timer = false; 
     $('#pause_button').removeClass('pause_button' + imageNumber); 
     imageNumber = 0; 
    }  
    else { 
     startWorking(); 
    } 
}); 

function startWorking() { 
    function changeImage(element) { 
     $('#pause_button').removeClass('pause_button' + imageNumber); 
     imageNumber++; 

     if (imageNumber > 6) { 
      imageNumber = 1; 
     } 
     console.log(imageNumber); 
     element.addClass('pause_button' + imageNumber, 200);   
     timer = setTimeout(function() { 
      changeImage(element) 
     }, 200); 
    } 

    changeImage($('#pause_button')); 
} 
+0

미안하지만 근본적으로 그랬던 것처럼 멈추었을 때 첫 번째 div (녹색 윤곽선이있는 흰색 블록)로 돌아 가야합니다. 도와 주셔서 감사합니다. – HAWKES08

+0

업데이트 된 답변보기 –

+0

감사합니다. thats absolutely great :) – HAWKES08

0

당신은 간격을 사용하고 clearInterval을 사용하여 취소가 반환 id를 사용할 수

//... 

var timeoutId = setTimeout(...); 
element.data('timeout', timeoutId); 

//... 

var elem = $('#pause_button'); 
if(elem.data('timeout')) { 
    clearTimeout(elem.data('timeout')); 
    elem.removeData('timeout'); 
} else { 
    changeImage($('#pause_button'), 0); 
} 
1

을 시도 사전 :)에 감사를 감상 할 수있다.

/* need to run this when clicked - need a toggle */ 

function changeImage(element, imageNumber) { 
    function do_it() { 
     imageNumber++; 

     if (imageNumber > 6) { 
      imageNumber = 1; 
     } 
     console.log(imageNumber); 
     element.addClass('pause_button' + imageNumber, 200); 

     element.attr('class', 'pause_button' + imageNumber); 
    } 

    return setInterval(do_it, 200); // execute every 200 ms, 
            // return interval id 
} 

var intervalid; 
$('div').click(function() { 
    if(intervalid != null) { // interval running, cancel it 
     clearInterval(intervalid); // clear the interval 
     intervalid = null; 
    } else { // start interval 
     var id = changeImage($('#pause_button'), 0); 
     intervalid = id; 
    } 
}); 
+0

죄송 즉 기본적으로 당신이 한 일을하지만 정지시는에 반환해야 첫 번째 div (녹색 윤곽선이있는 흰색 블록) – HAWKES08