首页 新闻 搜索 专区 学院

js 尚未实现 问题

0
悬赏园豆:100 [已关闭问题]

我下载了一个dede的模板,在其他的浏览器上面运行都没有问题,但是就在ie的浏览器上面运行的时候,出现了两个js错误,问题是一样的。
代码如下:
<style>
#wowo{
height:30px;
line-height:30px;
overflow:hidden;
}


</style>

<script language="javascript">
jsj=0;
jsj2=0;
function a()
{
if(jsj2<=-30){jsj2=0; return true;}
if(jsj<=-55){jsj=0;jsj2=0;document.getElementById('nini').style.marginTop=jsj+ "px";return true;}
jsj--;
jsj2--;
document.getElementById('nini').style.marginTop=jsj+ "px";
setTimeout("a()",10);

}

window.onload=setInterval("a()",4000);
</script>

ie报错的就是[window.onload=setInterval("a()",4000)]这一句,
设置window.onload函数数时指定了一个带有参数的函数。
原来IE现在不支持带有参数的函数做为window.onload的回调函数。

请问一下如何能解决这个问题啊
请哥哥们不要说删了这一句,应为页面样式发生了改变。请好心的大侠帮帮小弟了。

躁动的木头的主页 躁动的木头 | 初学一级 | 园豆:100
提问于:2010-02-09 20:01
< >
分享
其他回答(2)
0

window.onload=function()

{

setInterval("a()",4000);

}

查尔斯 | 园豆:3832 (老鸟四级) | 2010-02-09 20:23
0

楼上的能解决,但是同时会有覆盖原生页面onload的危险,因此推荐使用下面的这个用法:

function addLoadEvent(func)
{
  
var oldonload=window.onload;
  
if(typeof window.onload!='function') { window.onload=func;
   }
  
else
  {
      window.onload
=function()
      {
        oldonload();
        func();
       }
  }
}

function set(){setInterval("a()",4000);}

addLoadEvent(set);

这样子即可解决你的问题

西越泽 | 园豆:10633 (专家六级) | 2010-02-09 23:05
0

1楼已经解决了你的问题,2楼更完善。

I,Robot | 园豆:9583 (大侠五级) | 2010-02-10 14:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册