Я хотел, чтобы на моем веб-сайте была автопрокрутка для моего iframe. Когда я просматривал документацию по этому вопросу, я обнаружил, что ее очень мало. Так что, надеюсь, эта статья поможет вам.

Чтобы увидеть это в действии, посетите: https://kylernelson.dev

script.js

//the time it waits before page scrolls from the top
var waitBeforePageScrolls = -50;
//the time it waits when it hits the end of the page before looping back to the top
var waitBeforePageTop = 100;
//current height of the page
var height = waitBeforePageScrolls;
//if the mouse is hovering on iframe
var hover = false;
//the time it takes to scroll again in milliseconds
var scrollInterval = 5;
//how much it scrolls per interval
var scrollAmount = .3;
setInterval(function() {
    var iframe = document.getElementById('bannerIframe');
    if(!hover) {
        iframe.contentWindow.scrollTo(0, height);
        height += scrollAmount;
    }
    else {
        height = iframe.contentWindow.pageYOffset;
    }
if(height > iframe.contentWindow.pageYOffset + waitBeforePageTop) {
        height = waitBeforePageScrolls;
    }
}, scrollInterval);
function iframeMouseEnter() {
    hover = true;
}
function iframeMouseOut() {
    hover = false;
}

index.html

<iframe src="/HighKey-LowKey/index.html" id="bannerIframe" onmouseenter="iframeMouseEnter()" onmouseout="iframeMouseOut()"></iframe>

Вы можете скопировать и вставить это, вам просто нужно изменить src iframe на ваш источник html и связать JavaScript с вашим html. Если вы не хотите, чтобы страница ждала прокрутки, вы можете установить первые 2 переменные равными 0. Переменные «scrollInterval» и «scrollAmount» устанавливают, насколько быстро и медленно прокручивается страница. Если вы измените один из этих параметров, он может быть не очень плавным, поэтому вам придется точно настроить их оба, чтобы все было правильно.