loader
05 May , 2020

jquery定时器怎么写,jquery定时器setInterval和setTimeout用法

author

臭小子1983 博客园

shape animated shape animated shape animated

使用第三方账号注册

使用手机号/邮箱注册

jquery定时器怎么写,jquery定时器setInterval和setTimeout用法。直接在ready中调用其他方法,会提示缺少对象的错误,解决方法如下:

方法一:函数不在$(function(){....})内,setInterval第一个参数为"showAuto"

<script type="text/javascript">
    var t,n,count = 0;
    $(function(){
        t = setInterval("showAuto()", 1000);
    })
    function showAuto()
    {
        $('#ind').html(count++);
    }
</script>

方法二:函数在$(function(){....})内,setInterval第一个参数为 showAuto写法

<script type="text/javascript">
var t,n,count = 0;
$(function(){
    function showAuto(){
        $('#ind').html(count++);
    }
    t = setInterval(showAuto, 1000);
});
</script>

方法三:定时器中函数不能传参的解决方法

var num = 0;
function slideRun(x)
{
    scrollImg.animate({top:- h * x + "px"},{duration:500,queue:false});
    $(".slideNumber span").removeClass("on").eq(num).addClass("on");
    num++;
}
var timer = setInterval(function(){slideRun(num)}, 500);    // 要给函数用闭包的形势

二者的区别:

setTimeout()

从载入后延迟指定的时间去执行一个表达式或者是函数;

仅执行一次,和window.clearTimeout一起使用。

setInterval()

在执行时,它从载入页面后每隔指定的时间执行 一个表达式或者是函数;

(功能类似于递归函数),和window.clearInterval一起使用。

补充说明:这两个方法都可以用来实现在一个固定 时间段之后去执行JavaScript。不过两者各有各的应用场景。

方法

实际上,setTimeout和 setInterval的语法相同。它们都有两个参数,一个是将要执行的代码字符串,还有一个是 以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码。

不过这两个函数还是有区别的, setInterval在执行完一次代码之后,经过了那个固定的时间间隔,它还会自动重复执行代 码,而setTimeout只执行一次那段代码。

虽然表面上看来setTimeout只能应用在on-off方式的动作上,不过可以通 过创建一个函数循环重复调用setTimeout,以实现重复的操作:

showTime();
function showTime()
{
    var today = new Date();
    alert("The time is: " + today.toString ());
    setTimeout("showTime()", 5000);
}

一旦调 用了这个函数,那么就会每隔5秒钟就显示一次时间。如果使用setInterval,则相应的代 码如下所示:

setInterval ("showTime()", 5000);
function showTime()
{
    var today = new Date();
    alert("The time is: " + today.toString ());
}

这两种方法可能看起来非常像,而且显 示的结果也会很相似,不过两者的最大区别就是,setTimeout方法不会每隔5秒钟就执行一 次showTime函数,它是在每次调用setTimeout后过5秒钟再去执行showTime函数。

这意味着如果showTime函数的主体部分需要2秒钟执行完,那么整个函数则要每7秒钟才执行一次。 而setInterval却没有被自己所调用的函数所束缚,它只是简单地每隔一定时间就重复执行 一次那个函数。

如果要求在 每隔一个固定的时间间隔后就精确地执行某动作,那么最好使用setInterval,而如果不想 由于连续调用产生互相干扰的问题,尤其是每次函数的调用需要繁重的计算以及很长的处 理时间,那么最好使用setTimeout。

Robin Binar Themeix

Onubia, turpis inceptos pharetra. Ipsum erat rutrum, luctus non rhoncus quam quisque posuere, eros pede leo facilisis at risus. Ea sit consectetuer suscipit pede hac purus, erat nec

猜你喜欢

WinSxS是什么,C盘WinSxS是什么文件夹?

11 Dec , 2018

2018-12-11 00:01

mac下安装composer,macos系统下全局安装composer

11 Dec , 2018

2018-12-11 00:11

区块链是什么,区块链到底是什么意思,看完这段话就懂了

11 Dec , 2018

2018-12-11 00:19

wireshark使用教程,网络抓包工具wireshark中文版使用教程

11 Dec , 2018

2018-12-11 00:48

VBS整人代码大集合,学会用VBS来编小程序对心仪的女神表白

11 Dec , 2018

2018-12-11 02:06

网友评论 ( 0 条评论 )

评论