jQuery中setTimeout的几种使用方法小结


Posted in Javascript onApril 07, 2013

我们通过例子来说明一下jQuery中setTimeout的几种使用方法, 首先准备好测试用的DIV和公共函数:

<div id="div_debug"></div>
 <script src="http://www.studyday.net/demo/jquery.js"></script> 
 <script language="JavaScript"> 
 functionlog(s){ 
     $('#div_debug').append(s+'<br>'); 
 }  //下文中测试用的代码可以放在这一行注释的下面,替换掉 //... 
 //... 
 </script>

原生态 javascript 中的 setTimeout 基本用法是像这样子的.
 //原生态 javascript 中的 setTimeout 基本用法 
 functionfunA(){ 
     log('funA...'); 
     setTimeout('funA()', 1000); 
 } 
 funA();

下面是jQuery中setTimeout的几种使用方法. 在线实例

 //jQuery 中的用法 
 functionfunA(){ 
     log('funA...'); 
     setTimeout('funA()', 1000); 
 }  jQuery(document).ready(function($){ 
     //用法1 : 把要调用的函数写在ready外面,使它成为全局函数 
     funA(); 
     //用法2 : 直接写函数名,不能带括号也不能带引号,适合没有参数的函数 
     functionfunB(){ 
         log('funB...'); 
         setTimeout(funB, 1000); 
     } 
     funB(); 
     //用法3 : 通过调用匿名函数来执行,适合有带参数的函数 
     functionfunC(v){ 
         log('funC...'+v); 
         setTimeout(function(){funC(v+1)}, 1000); 
     } 
     funC(1); 
     //用法4 : 通过在jQuery命名空间上增加函数,适用面更广 
     $.extend({ 
         funD:function(v){ 
             log('funD...'+v); 
             setTimeout("$.funD("+(v+1)+")",1000); 
         } 
     }); 
     $.funD(100); 
 });

用法2和用法3的区别很明显, 但用法3和用法4的区别在哪里呢?为什么说用法4比用法3适用面更广呢?通过下面这个例子可以很直观的明白二者的区别:

 jQuery(document).ready(function($){ 
     //用法3 : 通过调用匿名函数来执行,适合有带参数的函数 
     functionfunC(v){ 
         log('funC...'+v); 
         setTimeout(function(){funC(v+1)}, 1000); 
     }      //用法4 : 通过在jQuery命名空间上增加函数,调用起来更方便 
     $.extend({ 
         funD:function(v){ 
             log('funD...'+v); 
             setTimeout("$.funD("+(v+1)+")",1000); 
         } 
     }); 
 }); 
 jQuery(document).ready(function($){ 
     //funC(1);   //去掉注释后执行这一句时会报错 
     $.funD(100); //这一句是正常的, 明白两者之间的区别了吧 
 });

Javascript 相关文章推荐
另类调用flash无须激活的方法
Dec 27 Javascript
javascript实现的距离现在多长时间后的一个格式化的日期
Oct 29 Javascript
用js实现的自定义的对话框的实现代码
Mar 21 Javascript
解析javascript 数组以及json元素的添加删除
Jun 26 Javascript
jQuery Html控件基本操作(日常收集整理)
Mar 11 Javascript
对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache详解
Apr 11 Javascript
使用BootStrap建立响应式网页——通栏轮播图(carousel)
Dec 21 Javascript
JavaScript基础教程之如何实现一个简单的promise
Sep 11 Javascript
点击按钮弹出模态框的一系列操作代码实例
Mar 29 Javascript
vue语法自动转typescript(解放双手)
Sep 18 Javascript
vue 通过绑定事件获取当前行的id操作
Jul 27 Javascript
jQuery实现简单轮播图效果
Dec 27 jQuery
jQuery setTimeout()函数使用方法
Apr 07 #Javascript
jquery全选/全不选/反选另一种实现方法(配合原生js)
Apr 07 #Javascript
关于jQuery参考实例 1.0 jQuery的哲学
Apr 07 #Javascript
jQuery操作checkbox选择(list/table)
Apr 07 #Javascript
关于jQuery参考实例2.0 用jQuery选择元素
Apr 07 #Javascript
js将long日期格式转换为标准日期格式实现思路
Apr 07 #Javascript
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
Apr 07 #Javascript
You might like
亲密接触PHP之PHP语法学习笔记1
2006/12/17 PHP
把1316这个数表示成两个数的和,其中一个为13的倍数,另一个是11的倍数,求这两个数。
2011/06/24 PHP
简单实用的.net DataTable导出Execl
2013/10/28 PHP
使用PHP curl模拟浏览器抓取网站信息
2013/10/28 PHP
Yii2实现ajax上传图片插件用法
2016/04/28 PHP
PHP数据的提交与过滤基本操作实例详解
2016/11/11 PHP
yii2使用GridView实现数据全选及批量删除按钮示例
2017/03/01 PHP
jQuery使用手册之三 CSS操作
2007/03/24 Javascript
关于IE BUG与字符串截取substr的解决办法
2013/04/10 Javascript
c#程序员对TypeScript的认识过程
2015/06/19 Javascript
jquery实现全选、反选、获得所有选中的checkbox
2020/09/13 Javascript
基于Vue实现tab栏切换内容不断实时刷新数据功能
2017/04/13 Javascript
vue 实现通过手机发送短信验证码注册功能
2018/04/19 Javascript
vue 设置路由的登录权限的方法
2018/07/03 Javascript
JS实现的自定义map方法示例
2019/05/17 Javascript
NumPy 数组使用大全
2019/04/25 Python
Numpy中对向量、矩阵的使用详解
2019/10/29 Python
python中如何打包用户自定义模块
2020/09/23 Python
Python高阶函数与装饰器函数的深入讲解
2020/11/10 Python
python 实现Requests发送带cookies的请求
2021/02/08 Python
AmazeUI 折叠面板的实现代码
2020/08/17 HTML / CSS
英国旅游额外服务市场领导者:Holiday Extras(机场停车场、酒店、接送等)
2017/10/07 全球购物
日本高岛屋百货购物网站:TAKASHIMAYA
2019/03/24 全球购物
德国领先的大尺码和超大尺码男装在线零售商:Bigtex
2019/06/22 全球购物
音乐学院硕士生的自我评价分享
2013/11/01 职场文书
旅游个人求职信范文
2014/01/30 职场文书
关于孝道的演讲稿
2014/05/21 职场文书
2014年师德师风自我剖析材料
2014/09/27 职场文书
四风问题对照检查整改措施思想报告
2014/10/05 职场文书
淮阳太昊陵导游词
2015/02/10 职场文书
求职意向书范本
2015/05/11 职场文书
2015学校年度工作总结
2015/05/11 职场文书
煤矿安全生产工作总结
2015/08/13 职场文书
中考百日冲刺决心书
2015/09/22 职场文书
党组织结对共建协议书
2016/03/23 职场文书
C站最全Python标准库总结,你想要的都在这里
2021/07/03 Python