博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
setTimeOut传参数
阅读量:4620 次
发布时间:2019-06-09

本文共 1101 字,大约阅读时间需要 3 分钟。

  最近,因项目需要,需要实现setTimeOut传参数的功能,搜索了很多的资源。终于找到一个比较好的方法了,记录下来,与大家分享。

  无论是window.setTimeOut还是window.setInterval,在使用函数名作为调用句柄是都不能带参数。

  先看一段简单的javascript代码:

1 function show()2 {3   alert("Hello World");4 }  5 setTimeout(show,1000);

  代码结果是:1秒中之后输出Hello World,但如果改成:

1 setTimeout(show(),1000);

  会立即输出结果,达不到延时的目的。但如果加上引号(双引号或单引号)就可以了,如:

1 setTimeout("show()",1000);

  但如果加上参数又不可以了,如:

1 setTimeout("show(name)",1000);

  可通过以下方法来解决以上问题:写一个函数,并返回一个不带参数的函数。代码如下:

1 

 

  需求:1.setTimeOut传参数 2.动态设置onclick事件

  解决方法:

1 function timeClick(obj)     2 {     3     //   var obj=document.getElementById('');     4     obj.style.backgroundColor="gray";     5     obj.οnclick=function(){ return false;};     6     setTimeout(function(){resetbgColor(obj);},3000);     7 }     8             9 function resetbgColor(obj)    10 {    11      //  var obj=document.getElementById('');    12     obj.style.backgroundColor="blue";    13      //   $('#'+'').click(timeClick);    14      //  debugger;    15     obj.οnclick=function(){    16     timeClick(this);    17     };    18 }

 

转载于:https://www.cnblogs.com/iyitong/p/4214276.html

你可能感兴趣的文章
mysql服务性能优化—my.cnf配置说明详解
查看>>
洛谷P1908 逆序对
查看>>
noip模拟赛 排列
查看>>
List 中添加多个List集合以及add() 与addAll()的区别
查看>>
如何处理测试人员的流动问题?
查看>>
1.border-image
查看>>
PagerIndicator主题样式修改
查看>>
java中HashMap类用法
查看>>
完整部署CentOS7.2+OpenStack+kvm 云平台环境(2)--云硬盘等后续配置
查看>>
分布式监控系统Zabbix-完整安装记录 -添加端口监控
查看>>
Python之反向迭代
查看>>
STM32F4 输入输出(GPIO)模式理解
查看>>
转义符
查看>>
poj 1019
查看>>
asp.net mvc上传文件
查看>>
bitmq集群高可用测试
查看>>
subline text3利用正则搜索
查看>>
项目管理思考——职责
查看>>
主成分分析(PCA)原理详解
查看>>
短信验证接口网址
查看>>