Как загрузить следующее значение из моего массива в мою функцию

#javascript #arrays #function

Вопрос:

Я пытаюсь всю ночь и не могу заставить это работать. Я пытаюсь получить значение из массива в сценарии, который я нашел в Интернете. Скрипт загружает каждые 10 секунд новую страницу, но я хотел бы загрузить html-страницу из своего массива, и через 10 секунд она должна загрузить следующую из моего массива. Может ли кто-нибудь указать мне в правильном направлении с помощью этого?

Очень признателен! Леон

 function pageSwitch() { 

    // MY PAGES ////////
    let myArray = ["page1.html", "page2.html", "page3.html", "page4.html"];


    $parent.find('.page-current').fadeOut(1000, function () {
        $(this).html($parent.find('.page-new').html());
        $(this).fadeIn(1000);

        nextPage = // HERE NEXT PAGE ////////
        if (nextPage.length > -1) {

            $fuse.width(fuseContainerWidth);
            animateFuse();
        } else {
            /***** check this ******/
            $parent.fadeOut();
        }
        $parent.find('.page-new').load(nextPage);
    });

}
 

Ответ №1:

 const numberOfMilliseconds = 1000;
const arr = [1, 2, 3, 4, 5]
arr.forEach((item, index) =>
  setTimeout(() => console.log(item), numberOfMilliseconds * index)
) 

Комментарии:

1. Всем привет. Спасибо вам за ваш ответ. Но я пытался реализовать это, но это не работает для меня (из-за отсутствия у меня Javascript…: -/). Я хочу, чтобы каждые 10 секунд следующий элемент моего массива загружался в «Следующую страницу» этой строки: $parent.find('.page-new').load(nextPage);

2. просто замените arr на myArray и console.log() на load()

3. Привет, еще раз спасибо за ваш ответ. Но я этого не понимаю… Извините. Где в моей функции я могу поместить ваш код?

Ответ №2:

Это выглядело бы примерно так:

 const numberOfMilliseconds = 1000;

function pageSwitch() {

  // MY PAGES ////////
  let myArray = ["page1.html", "page2.html", "page3.html", "page4.html"];

  myArray.forEach((nextPage, index) =>
    setTimeout(() => {
      $parent.find('.page-current').fadeOut(numberOfMilliseconds, function() {
        $(this).html($parent.find('.page-new').html());
        $(this).fadeIn(numberOfMilliseconds);
          if (nextPage.length > -1) {
            $fuse.width(fuseContainerWidth);
            animateFuse();
          } else {
            /***** check this ******/
            $parent.fadeOut();
          }
        $parent.find('.page-new').load(nextPage);
      });
    }, numberOfMilliseconds * index)
  )


} 

Комментарии:

1. Всем привет! Спасибо за вашу помощь! Я попробую это сделать! Леон