Выполнение JavaScript через X секунд
Я создаю межстраничную страницу, используя <div> и JavaScript, действительно простой script, но аккуратный.
Все работает, но я также хотел бы закрыть div через несколько секунд (например, 10 секунд). Вот что я до сих пор:
- У меня есть два div, 1 и 2.
- У меня есть настройка CSS для div 1, например: display: none; (у div 1 есть содержимое заставки)
- Div 2 - это слой, который будет закрывать страницу и оставлять видимым только div 1.
Для загрузки div у меня есть функция onload, например:
onload="document.getElementById('div1').style.display='block';document.getElementById('div2').style.display='block'"
Чтобы скрыть divs, у меня есть функция onclick, например:
<a href = "javascript:void(0)" onclick = "document.getElementById('div1').style.display='none';document.getElementById('div2').style.display='none'"></a>
Как я могу выполнить функцию onclick с помощью таймера и как это сделать? Он также должен быть в JavaScript.
Ответы
Ответ 1
Я считаю, что вы ищете функцию setTimeout.
Чтобы сделать код немного опрятным, определите отдельную функцию для onclick в блоке <script>
:
function myClick() {
setTimeout(
function() {
document.getElementById('div1').style.display='none';
document.getElementById('div2').style.display='none';
}, 5000);
}
затем вызовите свою функцию из onclick
onclick="myClick();"
Ответ 2
onclick = "setTimeout(function() { document.getElementById('div1').style.display='none';document.getElementById('div2').style.display='none'}, 1000)"
Измените 1000 на количество миллисекунд, которые вы хотите отложить.
Ответ 3
setTimeout поможет вам выполнить любой код JavaScript на основе установленного вами времени.
Синтаксис
setTimeout(code, millisec, lang)
Использование
setTimeout("function1()", 1000);
Подробнее см. http://www.w3schools.com/jsref/met_win_settimeout.asp