2013-09-16 2 views
0
var startTime = new Date().getTime(); 
    var interval = setInterval(function() { 
     if (new Date().getTime() - startTime > 1000) { 
      clearInterval(interval); 
      return; 
     } 
     r.redrawSlider() 
    }, 50); 
}), 

정지는 간격까지 다음 스크립트는정지 기능 - jQuery를

$(".slider-wrap").mouseenter(function() { 
    $(this).find(".slide-desc").css({ 
     left: '0' 
    }); 
    $(this).find(".bx-wrapper").css({ 
     'padding-left': '100px' 
    }); 
    $(this).find(".slide-desc p, .slide-desc span, .slide-desc h2").css({ 
     'left': '0' 
    }); 
}).mouseleave(function() { 
    $(this).find(".slide-desc").css({ 
     left: '-200px' 
    }); 
    $(this).find(".bx-wrapper").css({ 
     'padding-left': '0' 
    }); 
    $(this).find(".slide-desc p, .slide-desc span, .slide-desc h2").css({ 
     'left': '500px' 
    }); 
    setTimeout(function() { 
     r.redrawSlider(); 
    }, 

내가 간격이 완료 될 때까지 위의 스크립트를 동결하고 싶은을 수행합니다. 내가 어떻게 할 수 있니?

미리 감사드립니다.

답변

1

JavaScript에는 실행을 중지하는 데 사용할 수있는 절전/정지 방법이 없습니다. 수면 방법을 에뮬레이트하려면 setInterval(...) 또는 setTimeout(...)을 사용해야합니다.

이 경우 실행하고자하는 코드를 함수에 넣은 다음 해당 간격이 완료되면 해당 함수를 호출 할 수 있습니다.

당신은 당신이 코드를 실행할 간격을 취소 할 때, 당신은 내가 간격이 실행이 기능을 비활성화 할

var startTime = new Date().getTime(); 
    var interval = setInterval(function() { 
     if (new Date().getTime() - startTime > 1000) { 
      clearInterval(interval); 
      //**call your method here** 
      thisIsAMethodThatHasYourCode(); 
      return; 
     } 
     r.redrawSlider() 
    }, 50); 
}), 
... 

function thisIsAMethodThatHasYourCode() { 
    $(".slider-wrap").mouseenter(function() { 
    ..... 
} 
+0

사용해야 의미합니다. 간격이 작동하는 동안 중지하십시오. – user2587741

+0

내가 제공 한 답변에 어떤 문제가 있습니까? 간격이 지워질 때까지 코드 실행을 중지하지 않습니까? – Lobo

+0

$ ('. slider-wrap'). unbind ('mouseenter mouseleave'); - r.redrawSlider(); 누락되었습니다 :) 도와주세요! – user2587741