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 相关文章推荐
javascript实现上传图片前的预览(TX的面试题)
Aug 20 Javascript
Javascript优化技巧(文件瘦身篇)
Jan 28 Javascript
Jquery升级新版本后选择器的语法问题
Jun 02 Javascript
我的Node.js学习之路(三)--node.js作用、回调、同步和异步代码 以及事件循环
Jul 06 Javascript
AngularJS入门教程(二):AngularJS模板
Dec 06 Javascript
jQuery实现点击查看大图并以弹框的形式居中
Aug 08 Javascript
mvc 、bootstrap 结合分布式图简单实现分页
Oct 10 Javascript
Angularjs使用指令做表单校验的方法
Mar 31 Javascript
微信小程序实现获取自己所处位置的经纬度坐标功能示例
Nov 30 Javascript
Bootstrap导航菜单点击后无法自动添加active的处理方法
Aug 10 Javascript
微信小程序封装自定义弹窗的实现代码
May 08 Javascript
微信小程序 WeUI扩展组件库的入门教程
Apr 21 Javascript
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扩展函数
2006/10/09 PHP
php正则表达式使用的详细介绍
2013/04/27 PHP
PHP读取目录树的实现方法分析
2019/03/22 PHP
跟随鼠标旋转的文字
2006/11/30 Javascript
jqgrid 编辑添加功能详细解析
2013/11/08 Javascript
深入浅析Node.js 事件循环
2015/12/20 Javascript
JavaScript中instanceof运算符的使用示例
2016/06/08 Javascript
基于JavaScript实现单选框下拉菜单添加文件效果
2016/06/26 Javascript
ECMAScript6快速入手攻略
2016/07/18 Javascript
JS如何设置cookie有效期为当天24点并弹出欢迎登陆界面
2016/08/04 Javascript
AngularJS入门教程之双向绑定详解
2016/08/18 Javascript
Angular4实现动态添加删除表单输入框功能
2017/08/11 Javascript
浅谈jquery fullpage 插件增加头部和版权的方法
2018/03/20 jQuery
vue.js与element-ui实现菜单树形结构的解决方法
2018/04/21 Javascript
node使用request请求的方法
2019/12/20 Javascript
Vue 路由间跳转和新开窗口的方式(query、params)
2019/12/25 Javascript
JavaScript console的使用方法实例分析
2020/04/28 Javascript
vue.js实现照片放大功能
2020/06/23 Javascript
Javascript实现鼠标移入方向感知
2020/06/24 Javascript
python将ansible配置转为json格式实例代码
2017/05/15 Python
python模块导入的细节详解
2018/12/10 Python
详解Python_shutil模块
2019/03/15 Python
python定时截屏实现
2020/11/02 Python
最新Python idle下载、安装与使用教程图文详解
2020/11/28 Python
Python爬虫新手入门之初学lxml库
2020/12/20 Python
HTML5打开本地app应用的方法
2016/03/31 HTML / CSS
Mixbook加拿大:照片书,照片卡,剪贴簿,年历和日历
2017/02/21 全球购物
电气工程及自动化专业自荐书范文
2013/12/18 职场文书
群众路线教育实践活动方案
2014/02/02 职场文书
信访工作经验交流材料
2014/05/23 职场文书
安全责任书怎么写
2014/07/28 职场文书
先进班集体申报材料
2014/12/26 职场文书
交通安全主题班会
2015/08/12 职场文书
电力安全教育培训心得体会
2016/01/11 职场文书
JavaScript实现简单计时器
2021/06/22 Javascript
PostgreSQL基于pgrouting的路径规划处理方法
2022/04/18 PostgreSQL