Fala pessoal, estou precisando simular um toque na rodinha do mouse para baixo e depois um para cima, sabe, como se eu tivesse dado apenas um toquinho para descer a página ou para subir a página, por favor, podem me ajudar. Não é para identificar quando o usuário faz, é para fazer automaticamente, simular o scroll.
Vou usar isso para rolar minha página de x em x tempo, section por section como se fosse uma apresentação.
Solução:
Funções:
<!-- Slide da página -->
<script>
var secoes = document.getElementsByClassName('section-slider').length
var altura = document.documentElement.scrollHeight;
var rolar = 0;
var status = 0;
var timer_is_on = 0;
var slide_on_off;
//Inicia o slide automaticamente ao carregar a página
slide();
//Para o slide manualmente
function stopSlide_on_off() {
clearTimeout(slide_on_off);
timer_is_on = 0;
}
//Liga o slide manualmente
function startSlide_on_off() {
if (!timer_is_on) {
timer_is_on = 1;
slide();
}
}
//Função slide
function slide() {
slide_on_off = setTimeout(slide, 10000);
if (status == 0) {
rolar = rolar + (altura / secoes);
if (rolar >= altura) {
status = 1;
rolar = rolar - ((altura / (secoes) * 2));
}
} else {
rolar = rolar - altura / (secoes);
if (rolar < 0) {
window.location.reload(true);
status = 0;
rolar = 0;
}
}
//Rola o scroll até a próxima seção
window.scrollTo(0, rolar);
}
</script>
Botão ON/OFF;
<ol class="carousel-indicators">
<span type="button" class="btn btn-sm btn-outline-primary" style="border-style: dotted;"
onclick="(function() {
startSlide_on_off()
})()"> Ligar </span>
<span type="button" class="btn btn-sm btn-outline-primary" style="border-style: dotted;"
onclick="(function() {
stopSlide_on_off()
})()">Desligar</span>
</ol>