#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'