DIV виден каждую минуту в течение 10 секунд

#javascript #html #jquery #dom

#javascript #HTML #jquery #dom

Вопрос:

Мне нужна твоя помощь. Конечно, для вас это просто, но… это заняло некоторое время, и я не могу.

У меня всегда виден DIV, и я хотел бы, чтобы другой DIV появлялся каждую минуту в течение 10 секунд, а затем скрывался до тех пор, пока ему не пришлось появляться снова (по прошествии минуты с тех пор, как другой был скрыт). Так что повторяйте это бесконечно.

Как я мог это сделать? Спасибо.

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

1. Какова роль первого DIV в вашем вопросе? Какова была ваша попытка. Пожалуйста, покажите вашу попытку (код) и где вы застряли? Вы читали о setTimeout ?

2. Опубликуйте соответствующие части кода, которые вы пробовали, покажите обнаруженные ошибки и приложенные усилия. SO НЕ является сервисом: write code.

3. У меня есть основной DIV с видео, и я хочу каждую минуту показывать другой DIV со временем в течение 10 секунд, а затем исчезать. Как только он исчезает через 1 минуту, время появляется снова, и так до бесконечности. Я застрял.

Ответ №1:

Вы также можете использовать рекурсивную функцию, которая использует два setTimeout() и вызывает саму себя, поэтому она будет ждать целую минуту после скрытия, прежде чем запускать снова

 function showHide() {
  setTimeout(() => {
    // show element here

    setTimeout(() => {
        //hide element here then            
        // start all over by calling same function
        showHide();
      }, 10 * 1000);

  }, 60 * 1000);
}

// call it once to start
showHide()
  

Ответ №2:

Вы можете использовать setTimeout() функцию вместе с setInterval() функцией для этой задачи.

 setInterval(()=>{
   //make the div visible here
   setTimeout(()=>{
     //Make div invisible here
   }, 10 * 1000)//This is in milliseconds
}, 60 * 1000)  

setInterval() Функция будет выполняться непрерывно каждую минуту.

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

1. Спасибо за помощь, но таким образом второй раунд становится все короче и короче. Он начинается с 60 секунд и в 10 он удаляется, но следующий не начинается с 60, поскольку он удален, но он появляется в 50

Ответ №3:

Попробуйте использовать setTimeout и setInterval для отображения или скрытия определенного div. Вы можете ссылаться на setTimeout и setInterval

Более того, вы можете скрывать и показывать div с помощью JS как,

Чтобы скрыть:

document.getElementById('<DIV_ID_HERE>').style.display = 'none'

Чтобы показать:

document.getElementById('<DIV_ID_HERE>').style.display = 'block'