@Kusmich

Как сделать подгруздку текста в блок по таймеру?

Есть обект с которого я подгружаю данные и запихиваю их по тегам. Все бы хорошо но в виджете место не резиновое( Как сделать смену значений в теге по времени ? Например есть три тега h1 , скрипт с обект подгружает какой - то текст, проходит 2 минут и он подгружает следующий текст с обекта а старый удаляет. В случае елси текст закончился идет по кругу.. Пытался реализовать при помощи рекурсивной функции , но смену настроить пока не удалось... Може кто уже конструировал такое ?

вот код обекта , и код функции которая подгружает текст.

var json_date = {
   "dills": {
     "1": {
       "name": "boock_1",
       "time": "15:00",
     },
     "2": {
       "name": "book_2",
       "time": "15:00",
     },
     "3": {
       "name": "book_3",
       "time": "09:00",

     },
     "4": {
       "name": "book_4",
       "time": "05:00",

     }
   }
 }


var ix = 0;

$.each(json_date['dills'], function(key, val) {
	
 

$('li > h1').eq(ix++).text("").text(val.name);
console.log(ix);
});


Вот весь код на фидле : https://jsfiddle.net/sxzk9ooa/6/
  • Вопрос задан
  • 162 просмотра
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Ответ написан
Комментировать
nepritimov_m
@nepritimov_m
Frontend dev.
Вот тебе для одного блока. Далее сам доделаешь.
HTML:
<ul>
    <li class="block_1"> <h1> </h1>    <p>  </p>  </li>
    <li class="block_2"> <h1> </h1>    <p>  </p>  </li>
    <li class="block_3"> <h1> </h1>    <p>  </p>  </li>
</ul>

JS:
var json_date = {
   "dills": {
     "1": {
       "name": "boock_1",
       "time": "15:00",
     },
     "2": {
       "name": "book_2",
       "time": "15:00",
     },
     "3": {
       "name": "book_3",
       "time": "09:00",

     },
     "4": {
       "name": "book_4",
       "time": "05:00",

     }
   }
 }

var ix = 1;
setInterval(function () {
    var valName = json_date.dills[ix].name,
        obj = json_date.dills, 
        count = 0;

    $.each(obj, function () {
        count++;
    });

    (ix >= count) ? ix = 0 : ix = ix;
    $('.block_1').text(valName);
    ++ix;
}, 1000);


Ну и интервал - какой нужно задашь. 1000 - это в миллисекундах, т.е. 1 секунда.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы