`
renlei413326889
  • 浏览: 75630 次
  • 性别: Icon_minigender_1
  • 来自: 岳阳
社区版块
存档分类
最新评论

setTimeOut传参数(转)

 
阅读更多
突然想到在一个函数中延时调用另外一个函数,在JQuery1.3.2中没有发现相应方法,在网上搜索,搜集如下,特做个完整保存:

(1)转自:http://blog.csdn.net/nsrainbow/article/details/2370329 原文如下

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

先看一个简单的代码:

function show(){    
	alert("Hello World");
}
setTimeout(show,1000);


这段代码的效果是在1秒后显示hello world,但是如果改成

setTimeOut(show(),1000);

就会立即显示,达不到延时的效果了。但是如果加上引号就可以了。如:

setTimeOut("show()",1000);

就可以了。但是如果带上参数的话,还是不行比如:

setTimeOut("show(name)",1000)

这时就了一个比较的方法,就是再写个函数,该函数返回一个不带参数的函数,具体如下:

<script language="javascript">
	function show(name)
	{alert("Hello World:" + name);}

	function _show(name)
	{
		return function()
		{
			show(name);
		}
	}
	setTimeout(_show(name),1000);
</script>


(2)转自http://blog.csdn.net/huanglan513/article/details/5669912 原文如下


setTimeout传参数问题,弄了很久,终于解决了,O(∩_∩)O哈!




view plain
function timeClick(obj)  
       {  
        //   var obj=document.getElementById('');  
           obj.style.backgroundColor=&quot;gray&quot;;  
           obj.onclick=function(){ return false;};  
           setTimeout(function(){resetbgColor(obj);},3000);  
       }  
         
       function resetbgColor(obj)  
       {  
         //  var obj=document.getElementById('');  
           obj.style.backgroundColor=&quot;&quot;;  
        //   $('#'+'').click(timeClick);  
      //  debugger;  
           obj.onclick=function(){  
               timeClick(this);  
           };  
       }  


          我发现这句还真是万能啊,太服了, function(){ method(param);}

          这里两个地方都用到了,解决了我的所有问题,1.setTimeout传参数 2.动态设置onclick事件

         setTimeout(function(){resetbgColor(obj);},3000);


          obj.onclick=function(){
                timeClick(this);
            };
分享到:
评论
5 楼 世道变了 2015-10-30  
机智!赞一个!!
4 楼 275885948 2014-09-25  
var string = "this is not a test";
setTimeout('alert("'+'little tips: '+string+'")',3000);
3 楼 bosschen 2014-09-25  
谢谢,也解决了我的一个传参数的问题。
2 楼 小小风筝 2014-02-13  
        
1 楼 humors221 2013-12-24  
解决了我的一个问题,表示感谢。

相关推荐

    向setTimeout传递函数参数

    在本文中,我们将深入探讨如何正确地向`setTimeout`传递函数参数,并理解其背后的原理。 `setTimeout`的基本语法如下: ```javascript setTimeout(function, delay, param1, param2, ...) ``` 其中,`function`是...

    js setTimeout 参数传递使用介绍

    window.settimeout()方法要调用带参数的函数有两种方法: 1. 代码如下: function init(){ var url = “&lt;&#37;=basePath%&gt;fetchwater.do?method=searchRealWater&xzqh=” + “&lt;&#37;=xzqh%&gt;” + “&rand=”+...

    js中settimeout方法加参数.docx

    本文将深入探讨`setTimeout`方法及其参数的使用方式,并通过具体示例来帮助读者更好地理解和应用。 #### 一、`setTimeout`方法的基本介绍 `setTimeout`方法属于全局对象,可以在任何作用域内使用。其基本语法如下...

    JavaScript中SetInterval与setTimeout的用法详解

    setTimeout 描述 setTimeout(code,millisec) setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。 注:调用过程中,可以使用clearTimeout(id_of_settimeout)终止 参数 描述 code 必需,要调用的...

    js中settimeout方法加参数的使用实例.docx

    在实际应用中,我们常常需要向`setTimeout`传递参数,以便在函数执行时使用这些参数。在提供的文档中,有这样一段代码: ```javascript function timedMsg() { var a = "dd"; var t = setTimeout(function() { ...

    setTimeout应用(模拟站长之家导航)

    - `param1, param2, ...`: 可选参数,可以传递给`function`的值。 当调用`setTimeout`时,JavaScript会安排在指定延迟后执行提供的函数。这个延迟不是精确的,因为它依赖于浏览器的事件循环和其他正在运行的任务。...

    Javascript中, setTimeout() 和 setInterval() 的方法

    与`setTimeout()`类似,`setInterval()`的第二个参数也是一个延迟时间,但区别在于它会每隔这个时间重复执行提供的函数。这也意味着,如果执行函数本身需要的时间超过设定的延迟,可能会出现函数调用的重叠。 考虑...

    Javascript定时器(二)——setTimeout与setInterval

    这里的`function`是要执行的函数,`delay`是等待的时间(以毫秒为单位),`param1, param2, ...`是传递给该函数的参数。例如,我们可以创建一个简单的延时提示框: ```javascript setTimeout(function() { alert('...

    使用自定义setTimeout和setInterval使之可以传递参数和对象参数

    /****************************************************** // // 功能: 修改window.setTimeout,使之可以传递参数和对象参数 // 使用方法: window.setTimeout(回调函数,延迟时间,参数1,参数n) // ******************...

    精解window.setTimeout()window.setInterval()使用方式与参数传递问题!

    这是我们常常会使用方法setInterval或setTimeout,但是由于这两个方法是由脚本宿主模拟出来的Timer线程,在通过其调用我们的方法是不能为其传递参数。 我们常用的使用场景是: 代码如下:window.setTimeout(...

    javascript setTimeout()传递函数参数(包括传递对象参数)

    一个常见的需求是在setTimeout()中调用函数并传递参数,但是在使用字符串作为回调函数调用时,直接传递参数的方式可能会导致“未定义”的错误。这是因为JavaScript引擎无法识别字符串中的变量。为了解决这个问题,...

    关于JS定时器(setTimeout setInterval)定时不准问题1

    setTimeout函数的第二个参数(延时时间)只是告诉JavaScript再过多长时间把当前任务添加到队列中。如果队列是空的,那么添加的代码会立即执行;如果队列不是空的,那么它就要等前面的代码执行完了以后再执行。因此,...

    JS中setTimeout()的用法详解

    `setTimeout()` 方法接受两个参数:第一个参数是一个包含代码的字符串,或者一个函数引用;第二个参数是延迟时间,单位是毫秒(1秒=1000毫秒)。在设定时间到达之后,浏览器会执行第一个参数中指定的函数或代码。 `...

    jQuery setTimeout传递字符串参数报错的解决方法

    在某些情况下,当你尝试在setTimeout函数中使用字符串参数来调用jQuery函数时,可能会遇到错误,具体表现为变量失效、未定义等。为了解决这一问题,通常需要避免将函数调用以字符串形式传递给setTimeout,而是应该...

    JavaScript实现向setTimeout执行代码传递参数的方法

    本文实例讲述了JavaScript实现向setTimeout执行代码传递参数的方法。分享给大家供大家参考。具体分析如下: setTimeout函数是javascript中实现动态效果最关键的函数。但昨天在写代码的时候发现当第一个参数是函数...

    js函数setTimeout延迟执行的简单介绍

    如果是字符串,会作为`eval`函数的参数来执行。但推荐使用函数引用,因为字符串方式可能会引入安全问题和性能损耗。 - `delay`:这是一个整数值,表示延迟执行的时间,单位为毫秒。例如,`1000`毫秒即代表1秒。 ...

    js中settimeout方法加参数

    js中settimeout方法加参数的使用。简单使用看w3school 里面没有参数调用, 例子: 代码如下:[removed] function timedMsg() { var a =”dd”; var t=setTimeout(function(){ cao(a);},3000) } function cao(a) { ...

    js 定时器setTimeout无法调用局部变量的解决办法

    通常,`setTimeout`接收两个参数:一个函数引用或者字符串,以及一个延迟时间(以毫秒为单位)。在以下示例中: ```javascript var angle = 0; function rotateloop() { if (angle ) { angle++; // use angle ...

Global site tag (gtag.js) - Google Analytics