首頁 >web前端 >js教程 >JS頁面延遲執行一些方法(整理)_javascript技巧

JS頁面延遲執行一些方法(整理)_javascript技巧

WBOY
WBOY原創
2016-05-16 17:16:071399瀏覽

一般在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
以下是我用到的一些例子。

複製程式碼 程式碼如下:

//延遲查詢,傳一個查詢btn的ID,然後根據它附近的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);
});
$form.find( "input[type=checkbox]").change(function(){
searchTriger(btnId);
});
$form.find("select").change(function(){
searchTriger(btnId);
});
}
function searchTriger(btnId){
if(timeout != null){
clearTimeout(timeout);
}
clearTimeout(timeout);
}
timeout = setTimeout("searchBtnClick('" btnId "')",500);
}
function searchBtnClick(btnId){
$("#" btnId).click(); >}


定義遮罩層,相隔一分鐘後關閉 程式碼如下:


var hideTimeout;
function showLayerMask(){
$layerMask = $(".layerMask");
if($layerMask.length == 0){
var div = "";
var width = document.body.clientWidth;
var Height = document.body.scrollHeight;
var img = "JS頁面延遲執行一些方法(整理)_javascript技巧";
div = "
";
div = img;
div = "
";
var $body = $("body");
$body.prepend(div);
}
$layerMask.show();
//1分鐘後取消
hideTimeout = setTimeout(hideLayerMask,60000);
}
function hideLayerMask(){
if(hideTimeout != null){

倒數計時
倒計時複製程式碼
程式碼如下:


var emailTime = 30;
function nextCanDo(){ $" #mailValidateCodeBtn").val(emailTime "秒");
emailTime -= 1;
if(emailTime ==0 ){
$("#mailValidateCodeBtn").val("重新取得驗證碼");
$("#mailValidateCodeBtn").attr("disabled",false);
emailTime = 30;
}else{
setTimeout("nextCanDo()",1000);
}
}
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn