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

Раздел языка JavaScript.
Аватара пользователя
Ки - Ки
Сообщения: 27
Зарегистрирован: Чт июл 09, 2015 9:50 am
Благодарил (а): 2 раза
Поблагодарили: 2 раза

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

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

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

Реклама
lyod
Сообщения: 75
Зарегистрирован: Пн янв 06, 2014 11:13 pm
Поблагодарили: 1 раз

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>

Аватара пользователя
Ки - Ки
Сообщения: 27
Зарегистрирован: Чт июл 09, 2015 9:50 am
Благодарил (а): 2 раза
Поблагодарили: 2 раза

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

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

lyod, Ваш код перенаправляет, но обратного отсчета секунд на экране нет. Это видно и по коду, что таймера тут нет.

Аватара пользователя
Slash
Администратор
Сообщения: 2125
Зарегистрирован: Сб авг 11, 2012 7:39 am
Поблагодарили: 75 раз

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(timer, 1000);
        }
    }
    
    setTimeout(timer, 1000);
</script>
И в том месте, где надо вывести таймер, например на 15 секунд:

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

<span id="timer_redirect">15</span> 

Аватара пользователя
Slash
Администратор
Сообщения: 2125
Зарегистрирован: Сб авг 11, 2012 7:39 am
Поблагодарили: 75 раз

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

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

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

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

    <script type="text/javascript">
        var second = 15;
        var counter = setInterval(timer, 1000);
        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> 
Хочу заметить, в отличии от предыдущего редиректа, тут не ставится цифра между тегами.

Ответить Пред. темаСлед. тема

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

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