首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

js 对象 setInterval 调用该对象的内部步骤并把得到的计时器保存在该对象

2012-08-08 
js 对象 setInterval 调用该对象的内部方法并把得到的计时器保存在该对象// JavaScript Documentfunction

js 对象 setInterval 调用该对象的内部方法并把得到的计时器保存在该对象
// JavaScript Document
function auction(inid)
{
var tmpObject = 
{
id : inid,
timer1 : null,//用于更新auctioninfo 及修正本地浏览器延时
timer2 : null,//用于状态倒计时

now : null,//服务器now时间戳
ainfo : null,//从服务器获取的ainfo
curr_price : 0,//竞拍的当前价
action : null,//喊价纪录

auction_join : null,//参与人
auction_join_t : 0,
auction_join_state : false,

loadauctioninfo : function()
{
alert("id:" + this.id);
}
,
init : function(obj)
{
this.loadauctioninfo();
var self = this;
var tmp = '12313';

this.timer1 = setInterval('self.loadauctioninfo()', 3 * 1000);
}


};
return tmpObject;
}



var aobj = auction(1);
aobj.init(aobj);

这样会提示self.loadauctioninfo 不是一个方法...
求解决方法

aobj.timer1 = setInterval('aobj.loadauctioninfo()', 3 * 1000);

这样的写法可以,但是我想封装到对象

[解决办法]

JScript code
function auction(inid){var tmpObject = {id : inid,timer1 : null,//用于更新auctioninfo 及修正本地浏览器延时timer2 : null,//用于状态倒计时now : null,//服务器now时间戳ainfo : null,//从服务器获取的ainfocurr_price : 0,//竞拍的当前价action : null,//喊价纪录auction_join : null,//参与人auction_join_t : 0,auction_join_state : false,loadauctioninfo : function(){alert("id:" + this.id);},init : function(obj){this.loadauctioninfo();var self = this;var tmp = '12313';var o = thisthis.timer1 = setInterval(function(){o.loadauctioninfo()}, 3 * 1000);}};return tmpObject;}var aobj = auction(1);aobj.init(aobj);
[解决办法]
this.timer1 = setInterval('self.loadauctioninfo()', 3 * 1000);

this.timer1 = setInterval(self.loadauctioninfo, 3 * 1000);

请查找一下setInterval的用法,第一个参数为函数与字符串的区别

热点排行
Bad Request.