2009-12-17 21 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,看看事情是否有所改善?