JSFiddle - React, Tailwind, and code Playground
HTML
<section>
<!-- <button class="start">Scrolling</button> -->
<button class="speed" scrolling="plus">+10s</button>
<button class="speed" scrolling="minus">-10s</button> <br>
<span id="res"></span>
</section>
<div>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquam repellat nihil placeat, ullam blanditiis iusto laboriosam quam sunt, quaerat ratione esse quasi eum temporibus voluptas itaque perspiciatis ex mollitia neque.</div>
<div>Sit, quia. Ullam laborum neque voluptates cumque repellendus, minus placeat nihil ab similique optio, cupiditate architecto sint, esse fugit fuga, incidunt magni tenetur inventore! Laborum non modi culpa consectetur, aliquid!</div>
<div>Vel corrupti officia sit in. Quaerat quo tempore molestias nemo possimus! Earum id obcaecati nam est, maiores laboriosam velit ut vitae aperiam odit possimus eligendi culpa sunt alias nulla consequatur.</div>
<div>Veritatis consequatur adipisci explicabo in dolor officiis voluptate voluptatibus provident minima itaque ex suscipit deserunt aspernatur odio, ipsum commodi tempore. Harum odio rerum sit quis ratione voluptate, deserunt impedit provident.</div>
<div>Explicabo nulla dolores, ipsa perferendis, voluptate laudantium veniam distinctio provident atque, in nobis natus aspernatur eligendi eius, voluptates? Ullam consequuntur accusamus ducimus dolores velit, facilis vel molestiae accusantium tempore nulla.</div>
<div>Reiciendis velit error, fuga adipisci, id rem aliquid voluptatum enim quaerat officia, suscipit, incidunt consectetur. Iure saepe deserunt cum voluptatibus neque praesentium recusandae reprehenderit voluptas, repellat impedit inventore aspernatur, facilis.</div>
<div>Aliquam repellat, quae odit sequi inventore commodi dignissimos harum a, dicta ex placeat mollitia vitae voluptates velit impedit rerum repudiandae ut soluta perspiciatis qui numquam quidem incidunt laborum. Adipisci, voluptate.</div>
<div>Accusamus a veritatis quis natus officiis tenetur reiciendis...
CSS
div {
width: 300px;
border: 0.1px solid;
margin: auto;
}
section {
position: fixed;
/* top: 30px; */
}
JavaScript
let speedScrolling = 0;
let toScrollingSite = function(speed, stop) {
let anim = setInterval(function() {
document.documentElement.scrollTop += speed;
console.log(document.documentElement.scrollTop, speed);
}, 1000);
/* if (!stop) {
clearInterval(anim);
}*/
};
res.textContent = speedScrolling + 's';
document.addEventListener('click', e => {
let et = $(e.target);
// --> Вот попытка!
if (et.attr('scrolling') === 'plus') {
speedScrolling += 10;
res.textContent = speedScrolling + 's';
} else if (et.attr('scrolling') === 'minus') {
speedScrolling -= 10;
res.textContent = speedScrolling + 's';
}
toScrollingSite(speedScrolling, false);
// --> конец попытки
});