Ao lidar com a rolagem contínua e intermitente de notícias em uma página, o método mais comum é copiar e anexar o conteúdo da área de rolagem e, em seguida, controlar e julgar o scrollTop do bloco de rolagem para obter o efeito de parada de rolagem.
Na verdade, em muitos casos é mais fácil obter uma rolagem contínua e intermitente nas operações do nó.
O código é o seguinte:
janela.onload=função(){
var o=document.getElementById('caixa');
window.setInterval(function(){scrollup(o,24,0);},3000);
}
///Método principal de rolagem
///Parâmetro:o objeto de bloco de rolagem
///Parâmetro: d A altura de cada scroll
///Parâmetro: c altura de rolagem atual
função scrollup(o,d,c){
se(d==c){
var t=getFirstChild(o.firstChild).cloneNode(true);
o.removeChild(getFirstChild(o.firstChild));
o.appendChild(t);
t.style.marginTop="0px";
}outro{
c+=2;
getFirstChild(o.firstChild).style.marginTop=-c+"px";
window.setTimeout(function(){scrollup(o,d,c)},20);
}
}
//Resolva o problema de que espaços e retornos de carro serão usados como nós no Firefox
função getFirstChild(nó){
enquanto (node.nodeType!=1)
{
node=node.nextIrmão;
}
nó de retorno;
}
Efeito:
executar código