2009-12-17 43 views
0
<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浏览器下动手解决问题? 和thx非常!JavaScript函数兼容问题需要你的帮助

+2

究竟有什么问题呢?它在哪里破裂? – philfreo 2009-12-17 15:04:19

回答

0

我不知道你的脚本打算做什么,但对于JavaScript特效,检查出的框架:

JQUery

Prototype/Scriptaculous

Mootools

他们工作淘汰大多数浏览器问题,并且非常易于使用。

1

在IE中的scrollTop行为是非常不礼貌的。有两件事可以影响它:

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

2)是否在容器上设置溢出。

请参阅http://forums.digitalpoint.com/showthread.php?t=11965。它为IE中的两个scrollTop问题提供了一个解决方案。 (可能需要考虑使用一个框架,如jQuery,这会使等式中出现很多这样的烦恼)。在这种情况下,您可能会考虑使用框架,例如jQuery,这将会带来很多类似的烦恼。

0

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

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

也许试试100或200,看看事情是否有所改善?