RESOLVIDO: Simular mousewheel (scrollTo) para baixo, apenas um toque

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.

Já tentou o window.scrollBy()?

1 curtida

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()
                })()">&nbsp;&nbsp;&nbsp;Ligar&nbsp;&nbsp;&nbsp;</span>&nbsp;&nbsp;
                <span type="button" class="btn btn-sm btn-outline-primary" style="border-style: dotted;"
                onclick="(function() {
                    stopSlide_on_off()
                })()">Desligar</span>
            </ol>