我下载了一个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的回调函数。
请问一下如何能解决这个问题啊
请哥哥们不要说删了这一句,应为页面样式发生了改变。请好心的大侠帮帮小弟了。
window.onload=function()
{
setInterval("a()",4000);
}
楼上的能解决,但是同时会有覆盖原生页面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);
这样子即可解决你的问题
1楼已经解决了你的问题,2楼更完善。