In general, some methods are deferred in the JS page. You can use the following methods Introduction to jQuery. Delay () method http://shawphy.com/2010/11/jquery-delay.html Queue and dequeue in jQuery (link: #) Window. The setTimeout (link: #) Here are some examples I used.
//Delay the query, pass a query to the ID of BTN, and then according to its nearby FORM binding, when the control in the FORM is triggered or input will simulate clicking the query button 500 milliseconds later
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);
});
$form.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();
}
Define the mask layer and close it one minute apart
var hideTimeout;
function showLayerMask(){
$layerMask = $(".layerMask");
if($layerMask.length == 0){
var div = "";
var width = document.body.clientWidth;
var Height = document.body.scrollHeight;
var img = "<img src='"+resourcePath+"/src/images/loading2.gif' />";
div += "<div class='layerMask' style='width:100%;height:" + Height + "px;'>";
div += img;
div += "</div>";
var $body = $("body");
$body.prepend(div);
}
$layerMask.show();
//Cancel in 1 minute
hideTimeout = setTimeout(hideLayerMask,60000);
}
function hideLayerMask(){
if(hideTimeout != null){
clearTimeout(hideTimeout);
}
$layerMask = $(".layerMask");
$layerMask.hide();
}
The countdown
var emailTime = 30;
function nextCanDo(){
$("#mailValidateCodeBtn").val(emailTime+" seconds ");
emailTime -= 1;
if(emailTime ==0 ){
$("#mailValidateCodeBtn").val(" Retrieve the captcha ");
$("#mailValidateCodeBtn").attr("disabled",false);
emailTime = 30;
}else{
setTimeout("nextCanDo()",1000);
}
}