setTimeout 用于延时器,只执行一次.
setInterval:用于多次执行.
//******************************************
项目中引用到jquery.timers-1.2.js定时器,并且MSClass做信息定期滚动,每3分钟执行一次,执行三次左右,滚动的次数越来越快,原因在于timers和MSClass都用了setInterval,
都会再次添加一个setInterval,最后导致几个setInterval并发执行了,所以速度很快,需要在调用的时候clearInterval上次的setInterval ,或者引用MSClass作者的原方法,
//定时器先执行 销毁实例
var Marquee1 = new Marquee(["div1", "Content"])
function Marquee_everyTime() {
Marquee1.Destroy(); //销毁实例应用
GetMarqueeInfo(); //然后ajax采集需要的信息数据。
}
//ajax方法
function GetMarqueeInfo() {
LG.ajax({
type: 'AjaxOther',
method: 'GetMarqueeInfo',
success: function (data, tipsContent) {
$("#Content").html("");
$("#Content").html(tipsContent);
//大容器| 小容器 |滚动的方向 |滚动的速度 | 大容器的宽度 | 大容器的高度 | 滚动休息时间 | 滚动休息时间 | 滚动结束时间
Marquee1.Direction = 2;
Marquee1.Step = 0.4;
Marquee1.Width = 640;
Marquee1.Height = 30;
Marquee1.Timer = 20;
Marquee1.DelayTime = 4000;
Marquee1.WaitTime = 3000;
Marquee1.ScrollStep = 320;
Marquee1.Start();
},
error: function () {
LG.tip('信息加载失败.');
}
});
}