Como prometido. Eu iria lançar a versão 2 do sistema de Scroll Automatico (estilo jQuery. Animação)
Como pode ver. Cumpri minha promessa. Segue aqui o código da versão 2
function getScrollSize()
{
this.maxY = 'scrollMaxY' in window ? window.scrollMaxY : document.getElementsByTagName("body")[0].scrollHeight - document.getElementsByTagName("body")[0].clientHeight;
this.maxX = 'scrollMaxX' in window ? window.scrollMaxX : document.getElementsByTagName("body")[0].scrollWidth - document.getElementsByTagName("body")[0].clientWidth;
return true;
}
function autoScroll(tempo, to) {
alert(document.getElementsByTagName("body")[0].style.maxHeight);
if (window.pageYOffset < to) {
scrollInterval(((window.pageYOffset + to) / (tempo / 25)), 1, to);
} else {
scrollInterval(((window.pageYOffset - to) / (tempo / 25)), 0, to);
}
return true;
}
function scrollInterval(y, baixo, max) {
if (baixo && window.pageYOffset < max) {
setTimeout(function () {
scrollInterval(y, baixo, max);
}, 25);
scrollTo(0, window.pageYOffset + y);
}
if (!baixo && window.pageYOffset > max) {
setTimeout(function () {
scrollInterval(y, baixo, max);
}, 25);
scrollTo(0, window.pageYOffset - y);
}
return true;
}
Qual a diferença?
Nesta versão o scroll também move pra baixo. Também foram arrumado bug de limites e precisão no cálculo para "scrollar"
O uso é praticamente o mesmo da versão anterior:
autoScroll(tempo, to)
tempo = Tempo em milésimos de segundos para movimentar o scroll até TO, que será o ponto de chegada
Espero que tenham gostado. Abraços
Função de Auto Scroll por Bruno da Silva
Bruno,
poderia mostrar um exemplo deste código em execução?
Obrigado!