zoukankan      html  css  js  c++  java
  • JS页面延迟执行一些方法(整理)

    一般在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); 

    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 = "<img src='"+resourcePath+"/src/images/loading2.gif' />"; 
    div += "<div class='layerMask' style='100%;height:" + Height + "px;'>"; 
    div += img; 
    div += "</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(); 


    倒计时 

    复制代码代码如下:

    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); 

    }
  • 相关阅读:
    使用GetDIBts/SetDIBits高速逐点处理 from http://blog.sina.com.cn/s/blog_552ad2090100e3eu.html
    进程、应用程序域、程序集、对象上下文(转载)
    C# Data Structures
    **面试题
    你真的理解正确String某些特性了吗?
    Import data from files to SQL Server(用BULK INSERT命令导入数据详解)
    大战**面试
    海量数据面试题整理
    选择集合类
    电话面试题
  • 原文地址:https://www.cnblogs.com/susanws/p/5390822.html
Copyright © 2011-2022 走看看