原创 关于Javascript setTimeout中的this问题,以及倒计时器的实现源码
分类: 2016-03-05T12:00:47 602人阅读
function xilou(){ this.name="xilou"; this.sex="男"; this.num=0; } xilou.prototype.count=function(){ this.num+=1; alert(this.sex+this.num+this.name); alert(this.count) var self=this; //setTimeout(function(){self.count();},1000); //D:正确 //setTimeout(\'self.count()\',1000)// can\'t do it } var x=new xilou(); x.count();问题:
倒计时器:
var Countdown = function(Selector,count,callback){
this.timeout =count;
this.modifyObj = $(Selector);
this.callback = callback;
};
Countdown.prototype.Count = function ()
{
if(this.timeout<0){
this.callback();
return;
}
this.modifyObj.text(this.timeout);
this.timeout--;
var self =this;
setTimeout(function(){self.Count()},1000);
};
倒计时器的使用:
var countdown = new Countdown(\'#counttext\',20,function(){
layer.close(index);
});
countdown.Count();