如何使用javascript自动循环页面?

时间:2014-11-01 21:00:10

标签: javascript loops onload-event

我希望以特定的时间间隔循环播放5页。以下代码仅适用于遍历所有页面一次。我怎么能这样做,以便它无限循环通过这5页而不是只运行一次?

HTML

<div class="page">Page 2 Content</div>
<div class="page">Page 3 Content</div>
<div class="page">Page 4 Content</div>
<div class="page">Page 5 Content</div>

的Javascript

window.onload = function() {
    var TIME_PER_PAGE = 2000;
    var pages = document.querySelectorAll('.page');
    var numPages = pages ? pages.length : 0;
    var i = -1;

    function nextPage() {
        if (i >= 0)
            pages[i].classList.remove('currentPage');
        i++;
        pages[i].classList.add('currentPage');
        if (i < numPages - 1)
          setTimeout(nextPage, TIME_PER_PAGE);
    }

    nextPage();
}

1 个答案:

答案 0 :(得分:2)

以下是代码段和工作小提琴:http://jsfiddle.net/u62bqb62/1/

function nextPage() {
    if (i >= 0)
        $(pages[i]).removeClass('currentPage');

    i = ++i % numPages;

    $(pages[i]).addClass('currentPage');

    setTimeout(nextPage, TIME_PER_PAGE);
}