JavaScript函数兼容问题需要您的帮助

时间:2009-12-17 15:02:20

标签: javascript

<ul id="MarqueePro2"></ul>
 </ul>
 <script>
     var speed=60;
     var MarqueePro=document.getElementById("MarqueePro");
     var MarqueePro2=document.getElementById("MarqueePro2");
     var MarqueePro1=document.getElementById("MarqueePro1");
     MarqueePro2.innerHTML=MarqueePro1.innerHTML;
 function Marquee()
 {
     if(MarqueePro2.offsetTop-MarqueePro.scrollTop<=0)
     {
         MarqueePro.scrollTop-=MarqueePro1.offsetHeight;
     }
     else
     {
         MarqueePro.scrollTop++;
     }
 }
     var MyMar=setInterval(Marquee,speed);
     MarqueePro.onmouseover=function() {clearInterval(MyMar)}
     MarqueePro.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
 </script>
IE浏览器下的IE浏览器如何解决问题? 和thx非常多!

3 个答案:

答案 0 :(得分:1)

IE中的scrollTop行为非常狡猾。有两件事可以影响它:

1)文档类型 - 你必须得到正确的文档 - 过渡和松散的DTD似乎存在一些问题。

2)容器上是否设有溢流。

http://forums.digitalpoint.com/showthread.php?t=11965。它为IE中的scrollTop问题提供了解决方案。

(冒着制定stackoverflow陈词滥调的风险,你可能会考虑使用像jQuery这样的框架,这将会产生很多这样的烦恼。

答案 1 :(得分:0)

我不确定你的脚本打算做什么,但是对于Javascript效果,请查看框架:

JQUery

Prototype / Scriptaculous

Mootools

他们解决了大多数跨浏览器问题并且非常易于使用。

答案 2 :(得分:0)

您可能希望将速度设置为更高的数字。

setInterval的第二个参数是以毫秒为单位的延迟。 60毫秒是非常快的; 50毫秒是1/20秒。

也许尝试100或200来看看情况是否有所改善?