일반적으로 일부 메소드는 JS 페이지에서 지연됩니다. 다음 메소드를 사용할 수 있습니다
JQuery.delay() 메소드 소개
http://shawphy.com/2010/11/jquery-delay.html
jQuery의 queue 및 dequeue 사용법
http://www.jb51.net/article/25481.htm
Window.setTimeout
http://www.jb51.net/article/20741.htm
다음은 제가 사용하는 몇 가지 예입니다.
//지연된 쿼리, ID 전달 query btn, 그런 다음 근처 FORM 바인딩에 따라 FORM의 컨트롤이 트리거되거나 입력되면 500밀리초 후에 쿼리 버튼 클릭을 시뮬레이션합니다.
var timeout
function searchTrigerInit(btnId){
var $form = $("#" btnId).closest("form");
$form.find("input").not(".search_onblur").keyup(function(){
searchTriger (btnId) ;
});
$form.find("input.search_onblur").blur(function(){
searchTriger(btnId);
}); .find( "input[type=checkbox]").change(function(){
searchTriger(btnId);
})
$form.find("select").change(function( ){
searchTriger(btnId)
});
}
function searchTriger(btnId){
if(timeout != null){
clearTimeout(timeout); >}
timeout = setTimeout("searchBtnClick('" btnId "')",500)
}
function searchBtnClick(btnId){
$("#" btnId).click() ;
}
마스크 레이어를 정의하고 1분 후에 닫습니다.
var hideTimeout;
function showLayerMask(){
$layerMask = $(".layerMask")
if($layerMask.length) == 0){
var div = "";
var width = document.body.clientWidth;
var Height = document.body.scrollHeight
var img = "
";
div = "
";
div = img;
div = "
";
var $body = $("body");
$body.prepend(div);
}
$layerMask.show();
//1분 후 취소
hideTimeout = setTimeout(hideLayerMask,60000)
}
function hideLayerMask(){
if(hideTimeout != null){
clearTimeout(hideTimeout)
}
$layerMask = $(".layerMask")
$layerMask.hide();
카운트다운
function nextCanDo(){
$("#mailValidateCodeBtn").val(emailTime "초")
emailTime -= 1
if(emailTime ==0 ){
$("#mailValidateCodeBtn").val( "인증 코드 재설정");
$("#mailValidateCodeBtn").attr("disabled",false)
emailTime = 30;
setTimeout("nextCanDo() ",1000)
}
}