突然想到在一个函数中延时调用另外一个函数,在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="gray";
obj.onclick=function(){ return false;};
setTimeout(function(){resetbgColor(obj);},3000);
}
function resetbgColor(obj)
{
// var obj=document.getElementById('');
obj.style.backgroundColor="";
// $('#'+'').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);
};
分享到:
相关推荐
在本文中,我们将深入探讨如何正确地向`setTimeout`传递函数参数,并理解其背后的原理。 `setTimeout`的基本语法如下: ```javascript setTimeout(function, delay, param1, param2, ...) ``` 其中,`function`是...
window.settimeout()方法要调用带参数的函数有两种方法: 1. 代码如下: function init(){ var url = “<%=basePath%>fetchwater.do?method=searchRealWater&xzqh=” + “<%=xzqh%>” + “&rand=”+...
本文将深入探讨`setTimeout`方法及其参数的使用方式,并通过具体示例来帮助读者更好地理解和应用。 #### 一、`setTimeout`方法的基本介绍 `setTimeout`方法属于全局对象,可以在任何作用域内使用。其基本语法如下...
setTimeout 描述 setTimeout(code,millisec) setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。 注:调用过程中,可以使用clearTimeout(id_of_settimeout)终止 参数 描述 code 必需,要调用的...
在实际应用中,我们常常需要向`setTimeout`传递参数,以便在函数执行时使用这些参数。在提供的文档中,有这样一段代码: ```javascript function timedMsg() { var a = "dd"; var t = setTimeout(function() { ...
- `param1, param2, ...`: 可选参数,可以传递给`function`的值。 当调用`setTimeout`时,JavaScript会安排在指定延迟后执行提供的函数。这个延迟不是精确的,因为它依赖于浏览器的事件循环和其他正在运行的任务。...
与`setTimeout()`类似,`setInterval()`的第二个参数也是一个延迟时间,但区别在于它会每隔这个时间重复执行提供的函数。这也意味着,如果执行函数本身需要的时间超过设定的延迟,可能会出现函数调用的重叠。 考虑...
这里的`function`是要执行的函数,`delay`是等待的时间(以毫秒为单位),`param1, param2, ...`是传递给该函数的参数。例如,我们可以创建一个简单的延时提示框: ```javascript setTimeout(function() { alert('...
/****************************************************** // // 功能: 修改window.setTimeout,使之可以传递参数和对象参数 // 使用方法: window.setTimeout(回调函数,延迟时间,参数1,参数n) // ******************...
这是我们常常会使用方法setInterval或setTimeout,但是由于这两个方法是由脚本宿主模拟出来的Timer线程,在通过其调用我们的方法是不能为其传递参数。 我们常用的使用场景是: 代码如下:window.setTimeout(...
一个常见的需求是在setTimeout()中调用函数并传递参数,但是在使用字符串作为回调函数调用时,直接传递参数的方式可能会导致“未定义”的错误。这是因为JavaScript引擎无法识别字符串中的变量。为了解决这个问题,...
setTimeout函数的第二个参数(延时时间)只是告诉JavaScript再过多长时间把当前任务添加到队列中。如果队列是空的,那么添加的代码会立即执行;如果队列不是空的,那么它就要等前面的代码执行完了以后再执行。因此,...
`setTimeout()` 方法接受两个参数:第一个参数是一个包含代码的字符串,或者一个函数引用;第二个参数是延迟时间,单位是毫秒(1秒=1000毫秒)。在设定时间到达之后,浏览器会执行第一个参数中指定的函数或代码。 `...
在某些情况下,当你尝试在setTimeout函数中使用字符串参数来调用jQuery函数时,可能会遇到错误,具体表现为变量失效、未定义等。为了解决这一问题,通常需要避免将函数调用以字符串形式传递给setTimeout,而是应该...
本文实例讲述了JavaScript实现向setTimeout执行代码传递参数的方法。分享给大家供大家参考。具体分析如下: setTimeout函数是javascript中实现动态效果最关键的函数。但昨天在写代码的时候发现当第一个参数是函数...
如果是字符串,会作为`eval`函数的参数来执行。但推荐使用函数引用,因为字符串方式可能会引入安全问题和性能损耗。 - `delay`:这是一个整数值,表示延迟执行的时间,单位为毫秒。例如,`1000`毫秒即代表1秒。 ...
js中settimeout方法加参数的使用。简单使用看w3school 里面没有参数调用, 例子: 代码如下:[removed] function timedMsg() { var a =”dd”; var t=setTimeout(function(){ cao(a);},3000) } function cao(a) { ...
通常,`setTimeout`接收两个参数:一个函数引用或者字符串,以及一个延迟时间(以毫秒为单位)。在以下示例中: ```javascript var angle = 0; function rotateloop() { if (angle ) { angle++; // use angle ...