итерация массива при обновлении

#javascript #html #arrays

#javascript #HTML #массивы

Вопрос:

Как я мог бы написать фрагмент, который мог бы выполнять итерации по массиву при обновлении? Допустим, у меня есть массив со ссылками на баннеры, и я бы хотел, чтобы баннер менялся на следующий при обновлении. Существует множество решений, позволяющих сделать его случайным, но я хочу, чтобы он перебирал массив по порядку и переходил к первому после последнего.

 var banner = new Array();
 banner[0] = "http://placehold.it/728x90?text=one";
 banner[1] = "http://placehold.it/728x90?text=two";
 banner[2] = "http://placehold.it/728x90?text=three";
 banner[3] = "http://placehold.it/728x90?text=four";

 for(var i=0; i < banner.length; i  ){
  var img = document.getElementById("imageid");
  img.src = banner[i];
 }
  

Это код, который у меня есть в настоящее время, но он, очевидно, не работает.

Заранее благодарю вас

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

1. установите значение localStorage и обновите его на основе этого

2. Что здесь не работает?

3. banner [i], похоже, всегда имеет значение 4

Ответ №1:

Используйте localStorage так:

 var banner = new Array();
banner[0] = "http://placehold.it/728x90?text=one";
banner[1] = "http://placehold.it/728x90?text=two";
banner[2] = "http://placehold.it/728x90?text=three";
banner[3] = "http://placehold.it/728x90?text=four";    

if (!localStorage.i || localStorage.i == 3) localStorage.i = 0;
else localStorage.i  ;

var img = document.getElementById("imageid");
img.src = banner[localStorage.i];
  

Объяснение: при первой загрузке страницы localStorage.i будет 0 . При обновлении значение увеличивается 1 только до 3 , а затем возвращается к 0 после.

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

1. localStorage содержит значения, String так что этого никогда не будет === 3

2. Спасибо, это работает, я не был очень хорошо знаком со свойством localStorage.

3. вы также должны проверить localStorage , доступен ли он не везде