我试图找到一种简单的方法来让一个只有文本的 div 自动垂直滚动文本。我不想使用框架(尽管我确实使用 Prototype,所以如果使用 Prototype 更容易,那很好,但没有 Scriptalicious)。
我认为必须有一种方法可以用几行代码来做到这一点,但我对 Javascript 不够熟悉,不知道如何最有效地做到这一点。
我试图找到一种简单的方法来让一个只有文本的 div 自动垂直滚动文本。我不想使用框架(尽管我确实使用 Prototype,所以如果使用 Prototype 更容易,那很好,但没有 Scriptalicious)。
我认为必须有一种方法可以用几行代码来做到这一点,但我对 Javascript 不够熟悉,不知道如何最有效地做到这一点。
这可能不是传统的,但您可以尝试使用<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)"
作为选框标签的属性...
function scrollDivUp(id){
document.getElementById(id).scrollTop-=1
timerUp=setTimeout("scrollDivUp('"+id+"')",10)
}
尝试类似的东西。
您还可以将 .scrollTop-=1 更改为 .scrollTop+=1 以另一种方式滚动。
您还需要一个可滚动的 div,它可以通过限制大小和设置溢出样式属性来完成,即。样式=“宽度:200px;高度:300px;溢出:自动”
我看到还没有给出正确的答案。我认为您必须例如查看 cloneNode() 。并克隆要滚动的元素。当第一个元素位于滚动的最后一点时,将重复的元素放在第一个元素之后。当复制的元素快要结束时,将原始元素放在复制元素之后,依此类推!