Rolagem automaticamente roll verticalmente em loop de conteúdo
-
21-09-2019 - |
Pergunta
Estou tentando encontrar uma maneira simples de ter uma div, com apenas um texto nele rola automaticamente o texto verticalmente. Não quero usar uma estrutura (embora eu use o protótipo; portanto, se for mais fácil usando o protótipo, tudo bem, mas não é um scriptalicious).
Suponho que tenha que haver uma maneira de fazer isso com algumas linhas de código, mas não estou familiarizado o suficiente com o JavaScript para saber como fazer isso com mais eficácia.
Solução
Isso pode não ser convencional, mas você pode tentar o <marquee>
marcação
Funciona tanto no IE quanto no FF, e na última vez que verifiquei, o Safari também.
<marquee behavior="scroll" direction="up" height="250"
scrollamount="2" scrolldelay="10"">
Your content goes here
</marquee>
deve dar o que você quer,
E você pode estilizá -los como qualquer <div>
...
E depois há a vantagem adicional de não ter JavaScript ...
Editar em resposta ao seu comentário
Fica melhor, tente isso em qualquer navegador
onmouseover="this.stop()" onmouseout="this.start()"
E isso no 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)"
Como atributos da tag de letreiro ...
Outras dicas
function scrollDivUp(id){
document.getElementById(id).scrollTop-=1
timerUp=setTimeout("scrollDivUp('"+id+"')",10)
}
Experimente algo assim talvez.
Você também pode alterar o .ScrolLtop- = 1 para .Scrolltop+= 1 para rolar para o outro lado.
Você também precisaria de uma div rolável que possa ser feita restringindo o tamanho e definindo a propriedade de estilo de transbordamento, isto é. Style = "Largura: 200px; Altura: 300px; Overflow: Auto"
Vejo que a resposta correta ainda não foi dada. Eu acho que você tem que olhar para CLONENODE (), por exemplo. E clonar o elemento que você deseja rolar. Quando o primeiro elemento estiver no último ponto de rolagem, coloque o elemento duplicado após o primeiro elemento. E quando esse elemento duplicado estiver quase no final, coloque o original após a duplicata e assim por diante!