`
yzl495
  • 浏览: 54736 次
  • 性别: Icon_minigender_1
  • 来自: 赣州
文章分类
社区版块
存档分类
最新评论

关于setInterval、setTimeout在jQuery中的使用注意事项

 
阅读更多
最近碰到个问题,在使用jquery写定时器时,总是会出现fn不存在的错误提示
以前写定时器的时候,总是习惯直接

setInterval("fn()",2000);
最近碰到个问题,在使用jquery写定时器时,总是会出现fn不存在的错误提示,如下

$(function(){setInterval("fn()",2000);})
解决方法是去掉引号和括号,采用最原始的方法

$(function(){setInterval(fn,2000);})
另外一种就是在书写jq的扩展,如下
复制代码 代码如下:

$(function(){
$.extend({
fn:function(){
alert("im fn!");
}
});
setInterval("$.fn()",2000);
});

以上写法都是没什么问题的。但是如果需要传递参数该如何?

像上面第一种写法,

$(function(){setInterval(fn,2000);})
如果写成

$(function(){setInterval(fn(para),2000);})
就报错了。这个比较经典,比较白痴。

这时你可以内置一个function,写成

$(function(){setInterval(function(){fn(para)},2000);})
这样也是可以的。

至于第二种方法如何传递,这就更简单了,我就不多说了。

发到博客仅当记忆使用,都是基础啊!也是初学者容易犯错的地方!


//========================

还是补充下第二种传参的方法。

先看段代码
复制代码 代码如下:

$(function(){
$start = 1;
$.extend({
a:function(t){
$index = t;
alert($index);
$start++;
}
});
setInterval("$.a("+$start+")",2000);
});

有一些人会尝试这么去写,结果是什么?结果就是alert出来的,一直是1,不会增加。这里需要注意的是setInterval里面的第一个参数,这是一个语句,用双引号括了起来,里面的东西会被解释成变量。如果按照上面的写法,相当于

setInterval("$.a(1)",2000);
那么结果也就无可厚非了。正确的写法,当然是这样
复制代码 代码如下:

$(function(){
$start = 1;
$.extend({
a:function(t){
$index = t;
alert($index);
$start++;
}
});
setInterval("$.a($start)",2000);
});

这时$start才会被解释成变量。语句相当于function(){a(变量)},而不是function(){a(值)}

总之,要记住自己是在使用js库jquery进行开发,一切规则必须符合jQuery支持的规则,尽量使用jQuery支持的对象与规则,否则可能不能到达效果。
分享到:
评论

相关推荐

    jquery产品图片展示.zip

    在jQuery中,我们可以利用定时器(setTimeout或setInterval)配合animate函数来实现图片的平滑过渡效果。例如,可以设定一个定时器每隔一定时间自动改变图片的显示,同时结合淡入淡出效果,使得图片切换更为自然流畅...

    jquery实现倒计时,支持多行分别无限循环倒计时

    jQuery实现倒计时的核心在于对Date对象的处理和定时器(setTimeout或setInterval)的使用。以下我们将详细探讨这一过程: 1. **基础概念**: - **Date对象**:JavaScript中的Date对象用于处理日期和时间,我们可以...

    jQuery打字机

    6. **优化与注意事项** - **兼容性**:确保代码兼容不同的浏览器和设备,特别是老旧版本的浏览器。 - **性能**:避免频繁的DOM操作,可以考虑使用字符串拼接后再一次性更新,减少重绘和回流。 - **用户体验**:...

    jQuery实现的卡牌在圆形滑块中滑动切换特效源码.zip

    【标题】中的“jQuery实现的卡牌在圆形滑块中滑动切换特效源码”指的是一个使用jQuery库创建的互动式UI元素,该元素呈现为一个圆形的滑块,其中包含多张像卡牌一样的可滑动切换的面板。这个特效通常用于展示产品、...

    jquery超精致的图片轮播特效源码.zip

    1. 使用须知.txt:文件中可能包含了使用这个轮播特效的注意事项和建议,比如如何引入jQuery库,如何调整图片尺寸以适应不同屏幕,以及如何根据自己的需求修改源码等。 2. 132674334028522779:这个可能是图片文件或...

    jQuery网站幻灯片切换效果Demo

    在压缩包中,`readme.md`文件很可能是对这个Demo的简要说明,包括如何运行、使用注意事项等内容。而`jQuery网站幻灯片切换效果`可能是包含HTML、CSS和JavaScript代码的文件,直接打开或在本地服务器环境中运行这个...

    jQuery学习名额大转盘抽奖代码.zip

    同时,可能还使用setTimeout()或setInterval()来控制动画的时间间隔,确保转盘的平滑转动。 3. **随机选择获奖项**:在抽奖逻辑中,通常会用到Math.random()函数生成一个0到1之间的随机数,然后通过一定的映射关系...

    jQuery实现可自动播放动画的焦点图插件源码.zip

    在该插件中,jQuery的`animate()`方法被用于创建动画效果,而`setTimeout()`或`setInterval()`函数则用于设定自动播放的间隔。 要使用这个插件,你需要具备基本的HTML、CSS和jQuery知识。首先,在页面中引入jQuery...

    基于jquery实现的贪吃蛇游戏特效源码.zip

    "使用须知.txt"很可能是包含了关于如何运行、安装或者理解源代码的指南,这对于开发者来说是非常重要的,因为它将提供关于项目的基本操作步骤和注意事项。另一个文件"132692079819067940"可能是一个JavaScript文件,...

    jquery百度安全中心账号检测进度条.zip

    "使用须知.txt" 文件则可能包含了关于如何使用这个进度条组件的说明,包括如何引入jQuery库,如何在页面中调用和配置代码,以及可能的注意事项和兼容性问题。阅读这份文本文件是理解和部署这个组件的关键步骤。 ...

    强大的jQuery文字和图片跑马灯特效.zip

    同时,使用`setTimeout()`或`setInterval()`函数可以定期执行切换动作,形成循环播放的效果。 四、相关文件解析 在提供的压缩包文件中,我们看到以下关键文件: 1. `index3.html`, `index.html`, `index2.html`, `...

    jQuery实现的电子商务网站首页幻灯片效果源码.zip

    同时,`使用须知.txt`文件通常会提供源码的使用指南和注意事项,例如如何引入jQuery库,如何自定义幻灯片配置,或者如何解决兼容性问题。 为了实际应用这个源码,你需要: 1. **引入jQuery库**:确保网页中已经...

    jQuery带进度条全屏图片轮播焦点图效果源码.zip

    "使用须知.txt"很可能包含了关于如何安装、配置和使用这个轮播插件的详细步骤和注意事项,对于初学者来说是十分重要的参考资料。而"132677869680995079"可能是一个示例文件,可能是图片或者CSS/JavaScript文件,用于...

    基于jQuery实现的动态弹性多级下拉菜单效果.zip

    使用须知.txt文件可能会提供关于如何运行或应用这些代码的说明,包括可能的依赖项、兼容性提示以及使用注意事项。 总的来说,理解并掌握上述jQuery特性是创建动态弹性多级下拉菜单的基础,同时,结合实际项目中的...

    基于jQuery完全自定义内容的幻灯片效果的实现代码.zip

    【压缩包子文件的文件名称列表】中,“使用须知.txt”可能包含了关于如何使用提供的代码或资源的说明和注意事项,而“132686891339889337”很可能是一个文件名,可能是JavaScript代码文件、HTML文件或者CSS样式文件...

    jquery简洁优雅的轮播图插件terseBanner.zip

    "使用须知.txt"可能包含了关于如何正确使用这个插件的指南和注意事项,包括如何在项目中引入,配置参数,以及解决可能出现的问题。 在实际使用terseBanner时,开发者需要确保正确导入jQuery库,遵循插件的文档说明...

    jQuery横向图片焦点图滚动效果,标题有打字机效果,兼容主流浏览器

    在实现过程中,我们可以使用jQuery的`setTimeout`或`setInterval`函数来控制时间间隔,结合`text()`或`append()`方法逐步修改文本内容。同时,为了使效果更加逼真,还可以加入回车、删除字符等细节。 结合上述两种...

    基于jQuery制作网页定时提醒闹钟,带音乐.zip

    1. **jQuery定时器**:使用`setInterval`或`setTimeout`函数设置定时器,以便在指定时间点触发提醒。 2. **DOM操作**:通过jQuery选择和操作HTML元素,显示或隐藏提醒窗口,可能还包括弹出框或模态对话框。 3. **...

Global site tag (gtag.js) - Google Analytics