首页 > ie6浏览器中执行setInterval的返回值

ie6浏览器中执行setInterval的返回值

通常情况下seInterval 的返回值是其调用次数,1,2,3,4.。。。

但是ie6里面却返回的是一长串数字,非常大。什么原因?

我的问题没表述清楚,一个页面同时执行多个seInterval 的时候,通常情况下seInterval 的返回值是从1开始向上累加的,每一个特定的setlnterval返回的是一个定值,实际上是number类型的数字。还是贴代码吧 <script> var ss = setInterval(function(){ alert(ss) },600);

 var aa = setInterval(function(){
   alert(aa)
       },600);
</script>

正常的浏览器都弹,1.2.1.2这两个数字

又测了一下,ie8一下的浏览器 弹出的都是一长串数字,而且不同版本还不一样,比如ie8弹出的是172736541与172736542,但是ie6弹出的是130223503与130223502.

顺便说一下从中发现的ie6一个特别的地方
obj = document.getElementById('-....-')
obj.time=setInterval(function () {
-- 执行一系列动作--
if(--判断--){
clearInterval(obj.time);
delete obj.time;
}
},60)

这段代码在ie6下会报错,ie8以及其他chrome,firfox,opera正常。ie6报错的是 obj没有time 这个属性。貌似又说明了clearInterval在ie6下与其他浏览器下执行效果的差别.ie6是停止动画,并且删除这个动画返回的id。但是其他浏览器会保留这个返回的id。--个人猜测


啊?setInterval 不一直是返回一个 id 的么?

看来你没明白,那我就再说清楚一点:setInterval 返回的是opaque value,也就是使用者不用管它里边是什么东西的值,它爱返回什么就返回什么,只要 clearInterval 能够正确使用就成。

至于你在 IE6 中没法给 HTMLElement 添加新属性,那是另一个问题了。

另,猜测无用,要么文档,要么自己证实。

【热门文章】
【热门文章】