Действие через x секунд на JavaScript

Раздел языка JavaScript.
Аватара пользователя
Ки - Ки
Сообщения: 26
Благодарил (а): 2 раза
Поблагодарили: 2 раза

Действие через x секунд на JavaScript

Сообщение Ки - Ки » Пн авг 31, 2015 10:21 am

Всем привет! Как сделать обратный отсчет времени в секундах, а при достижении ноля перенаправлять по указанному адресу?
За ранее спасибо.
Реклама
lyod
Сообщения: 76

Re: Действие через x секунд на JavaScript

Сообщение lyod » Пн авг 31, 2015 10:42 am

Код: Выделить всё

<script>
    
setTimeout(function(){
        
window.location.href 'http://yandex.ru/';
    }, 
5000);
</script>
<p>Пожалуйста, подождите... Через несколько секунд Вы будете перенаправлены на http://yandex.ru/</p>
Аватара пользователя
Ки - Ки
Сообщения: 26
Благодарил (а): 2 раза
Поблагодарили: 2 раза

Re: Действие через x секунд на JavaScript

Сообщение Ки - Ки » Пн авг 31, 2015 6:46 pm

lyod, Ваш код перенаправляет, но обратного отсчета секунд на экране нет. Это видно и по коду, что таймера тут нет.
Аватара пользователя
Slash
Администратор
Сообщения: 2028
Поблагодарили: 62 раза

Re: Действие через x секунд на JavaScript

Сообщение Slash » Пн авг 31, 2015 8:56 pm

Вот такой вариант:

Код: Выделить всё

<script type="text/javascript">
    function 
timer()
    {
        var 
redirect document.getElementById("timer_redirect");
        
redirect.innerHTML--;
 
        if (
redirect.innerHTML == 0)
        {
            
window.location.href "http://danfa.org";
        }
        else
        {
            
setTimeout(timer1000);
        }
    }
    
    
setTimeout(timer1000);
</script>

И в том месте, где надо вывести таймер, например на 15 секунд:

Код: Выделить всё

<span id="timer_redirect">15</span
Аватара пользователя
Slash
Администратор
Сообщения: 2028
Поблагодарили: 62 раза

Re: Действие через x секунд на JavaScript

Сообщение Slash » Сб сен 05, 2015 9:41 am

Вот еще один сценарий редеректа через несколько секунд:

Код: Выделить всё

    <script type="text/javascript">
        var 
second 15;
        var 
counter setInterval(timer1000);
        function 
timer()
        {
            
second--;
            if (
second <= 0)
            {
                
clearInterval(counter);
                
window.location.assign("' . $url . '");
                return;
            }
            
document.getElementById("timer_redirect").innerHTML second;
        }
    
</script>

На странице, где нужен отсчет, вставляем:

Код: Выделить всё

<span id="timer_redirect"></span

Хочу заметить, в отличии от предыдущего редиректа, тут не ставится цифра между тегами.

Вернуться в «JavaScript»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость