jquery에서 wait () 아니면 sleep () 기능?
수업을 추가하고 싶은데요, 2초 정도 기다렸다가 수업을 하나 더 추가합니다.
.addClass("load").wait(2sec).addClass("done");
방법이 없을까요?
setTimeout은 일정 시간 지연 후(밀리초 단위로 측정) 일부 코드를 실행합니다.그러나 중요한 참고 사항: 자바스크립트의 특성 때문에 나머지 코드는 타이머가 설정된 후에도 계속 실행됩니다.
$('#someid').addClass("load");
setTimeout(function(){
$('#someid').addClass("done");
}, 2000);
// Any code here will execute immediately after the 'load' class is added to the element.
그것은.delay()
.
만약 당신이 AJAX 같은 일을 하고 있다면, 당신은 정말로 "완료"를 자동으로 쓸 것이 아니라 정말로 응답을 기다리고 그것이 실제로 완료되었는지 확인해야 합니다.
delay ()은(는) 작업을 수행하지 않습니다.지연()의 문제는 애니메이션 시스템의 일부이며 애니메이션 대기열에만 적용된다는 것입니다.
애니메이션이 아닌 다른 것을 실행하기 전에 기다리려면 어떻게 해야 합니까?
사용 방법:
window.setTimeout(function(){
// do whatever you want to do
}, 600);
어떻게 됩니까?이 시나리오에서는 600밀리초를 기다린 후에 컬리 브레이스 내에서 지정된 코드를 실행합니다.
이것은 제가 알아낸 후에 많은 도움이 되었고 여러분에게도 도움이 되기를 바랍니다!
중요 공지사항: 'window.setTimeout'은 비동기적으로 발생합니다.코드를 작성할 때 명심하세요!
이것은 오래된 질문이지만, 누군가 유용하다고 생각할 수 있는 이 문제를 해결하기 위해 플러그인을 작성했습니다.
https://github.com/madbook/jquery.wait
다음을 수행할 수 있습니다.
$('#myElement').addClass('load').wait(2000).addClass('done');
기능은 있지만 추가로 제공됩니다: http://docs.jquery.com/Cookbook/wait
이 작은 토막글을 사용하면 다음을 기다릴 수 있습니다.
$.fn.wait = function(time, type) {
time = time || 1000;
type = type || "fx";
return this.queue(type, function() {
var self = this;
setTimeout(function() {
$(self).dequeue();
}, time);
});
};
인터넷에서 수면 기능이라는 기능을 찾았는데 누가 만들었는지 모르겠어요.여기 있어요.
function sleep(milliseconds) {
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > milliseconds){
break;
}
}
}
sleep(2000);
그 기능을 사용하시면 됩니다.
이것이 당신이 원하는 것입니다.
.addClass("load").delay(2000).addClass("done");
xml4jQuery 플러그인은 sleep(ms,callback) 메서드를 제공합니다.남은 체인은 수면 시간이 지나면 실행됩니다.
$(".toFill").html("Click here")
.$on('click')
.html('Loading...')
.sleep(1000)
.html( 'done')
.toggleClass('clickable')
.prepend('Still clickable <hr/>');
.toFill{border: dashed 2px palegreen; border-radius: 1em; display: inline-block;padding: 1em;}
.clickable{ cursor: pointer; border-color: blue;}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript" src="https://cdn.xml4jquery.com/ajax/libs/xml4jquery/1.1.2/xml4jquery.js"></script>
<div class="toFill clickable"></div>
저는 당신에게 도움을 줄 수 있는 무언가가 있다고 생각합니다. 그리고 그것은 연기와 함께 작동하고 있습니다.작업이 완료될 때까지 일시 중지된 다음 계속될 때 $.와 함께 사용됩니다. 지연된 요소를 검색합니다.이전 이벤트가 다음 이벤트로 계속 진행될 때까지 기다리면서 이벤트를 차례로 연결할 수도 있습니다.
$.when( $('#element').addClass('load'), $('#element').addClass('done') ).then(function(x) { console.info('Already done') });
언급URL : https://stackoverflow.com/questions/5722791/wait-or-sleep-function-in-jquery
'programing' 카테고리의 다른 글
WooCommerce 카트 항목 이름 변경 (0) | 2023.09.25 |
---|---|
자바스크립트에서 빈 문자열은 항상 부울로 거짓입니까? (0) | 2023.09.25 |
어떻게 두 개의 다른 컴퓨터에 있는 같은 파일이 다른 결과를 줄 수 있습니까? (0) | 2023.09.25 |
JQuery / JavaScript와 연결할 메일 호출 / 클릭 (0) | 2023.09.25 |
eslint는 devDependency가 아니라 프로젝트의 종속성에 나열되어야 합니다. (0) | 2023.09.25 |