function animateObj() {
var animateTimer = null;
var intervalTime = 1;
var divEl = null;
var divHeight = 0;
this.shortElRegularly = function() {
aler t('2');
if (divHeight > 0) {
divEl.style.height = divHeight.toString() + "px";
divHeight--;
}
else {
clearInterval(animateTimer);
hide(divEl);
divEl.style.removeAttribute("height");
}
}
this.startShortAnimate = function(el) {
divEl = el;
divHeight = divEl.scrollHeight;
aler t('1');
animateTimer = setInterval("this.shortElRegularly()", intervalTime);
aler t('3');
}
}
var animateObjInstance = new animateObj();
animateObjInstance.startShortAnimate($('divId'));
以上代码是实现一个隐藏某Div时的一个动画效果(即每一毫秒缩短一个像素),可程序能执行到 aler t('1'); 和 aler t('3');,就是不能执行 aler t('2');,应该是setInterval的写法不对吧,应该怎么写呀。。。啊啊啊,我快郁闷死了。。。
我不是在你上一个提问中回答了吗?开始写漏了个括号,下午改了,你再试试吧.
var self = this;
animateTimer = setInterval(function(){self.shortElRegularly();}, intervalTime);