0

我试图找到一种简单的方法来让一个只有文本的 div 自动垂直滚动文本。我不想使用框架(尽管我确实使用 Prototype,所以如果使用 Prototype 更容易,那很好,但没有 Scriptalicious)。

我认为必须有一种方法可以用几行代码来做到这一点,但我对 Javascript 不够熟悉,不知道如何最有效地做到这一点。

4

4 回答 4

6

这可能不是传统的,但您可以尝试使用<marquee>标签

它在 IE 和 FF 中都有效,我上次检查时也是 safari。

<marquee behavior="scroll" direction="up" height="250" 
   scrollamount="2" scrolldelay="10"">
  Your content goes here
</marquee>

应该给你你想要的,
你可以像任何样式一样设置它们<div>......
然后还有没有javascript的额外优势......

编辑以回应您的评论

它变得更好,在任何浏览器中尝试这个

onmouseover="this.stop()" onmouseout="this.start()"

而这在 IE

style="filter:progid:DXImageTransform.Microsoft.Alpha( Opacity=0,
FinishOpacity=100, 
Style=1, StartX=0,  FinishX=0, StartY=0, FinishY=10) 
progid:DXImageTransform.Microsoft.Alpha( Opacity=100, FinishOpacity=0, 
Style=1, StartX=0, FinishX=0, StartY=90, FinishY=100)" 

作为选框标签的属性...

于 2009-12-22T21:41:25.377 回答
0
function scrollDivUp(id){
    document.getElementById(id).scrollTop-=1
    timerUp=setTimeout("scrollDivUp('"+id+"')",10)
}

尝试类似的东西。

您还可以将 .scrollTop-=1 更改为 .scrollTop+=1 以另一种方式滚动。

您还需要一个可滚动的 div,它可以通过限制大小和设置溢出样式属性来完成,即。样式=“宽度:200px;高度:300px;溢出:自动”

于 2009-12-22T19:59:52.837 回答
0

尝试更改 div 的scrollTop这里有一个例子。

于 2009-12-22T19:59:56.710 回答
0

我看到还没有给出正确的答案。我认为您必须例如查看 cloneNode() 。并克隆要滚动的元素。当第一个元素位于滚动的最后一点时,将重复的元素放在第一个元素之后。当复制的元素快要结束时,将原始元素放在复制元素之后,依此类推!

于 2010-08-29T04:42:08.933 回答