2017-10-05 10 views
0

그래서 내가 뭘 하려는지는 아무도 마우스를 움직이거나 클릭하거나 터치하지 않으면 (기본적으로 웹 사이트에 아무런 활동이없는 경우) 텍스트 애니메이션으로 시작하는 시간 (5 분)이지만 누군가가 웹 사이트를 다시 훑어 볼 때까지 매 15 초마다 텍스트가 반복되어야합니다.일부 유휴 시간 초과 후에 루프를 반복하고 마우스를 움직이거나 터치 할 때 재설정합니다.

그리고 난이 기능은 지금까지 루프 간격이 clearInterval 간격 루프 중지해야, 다시 것이 아니라 일부 지점

 $(function(){ 
      var idleTimer; 
      var idleInterval; 
      function resetTimer(){ 
      clearTimeout(idleTimer); 
      clearInterval(idleInterval); 
      idleTimer = setTimeout(idleloop,30 * 1000); 
      } 
      $(document.body).bind('mousemove keydown click',resetTimer); //space separated events list that we want to monitor 
      resetTimer(); // Start the timer when the page loads 
     }); 

     function idleloop() { 
      idleInterval = setInterval(whenUserIdle,15 * 1000); 
     } 
     function whenUserIdle(){ 
      if(isOpened) { 
       goHome(); 
      } else { 
       if(isBurst) { 
        Partallan.start(); 
       } else { 
        Partallan.stop(); 
       } 
      } 
     }; 

하기 위해 노력하지만를 사용하는 경우이 난의 잠시 후 다시 웹 사이트를 탐색 시작할 때 inactivity setInterval 루프는 나를 방해하고 매 15 초마다 계속 반복합니다.

웹 사이트에서 활동이있을 때 모든 것을 중지하는 방법을 알 수 없으며 활동이 없을 때 계속 진행할 수 있습니다.

답변

0

이 바이올린을 확인하시기 바랍니다 - https://jsfiddle.net/q4500voy/

은 여기 document.body 선택은 keydown 이벤트 일 것 같았다 document 대신

 $(document).bind('mousemove keydown click',resetTimer); 

document.body의에 이벤트를 추가했습니다.