2015-10-16 3 views
0

как сделать страницу обновить ее, когда обратный отсчет равен 0?обновить страницу с обратным отсчетом

, например, я хочу, чтобы страница обновляется каждые 10 секунд, используя JavaScript и когда 5 секунд осталось от 10 секунд, он должен отображаться на странице и рассчитывает на от 5 до 0, после чего обновите страницу

Я пробовал это

function startChecking() { 
    secondsleft -= 1e3; 
    if (secondsleft <= 3e4) { 
     document.getElementById("div_countdown").style.display = ""; 
     document.getElementById("timercounter").innerHTML = Math.abs(secondsleft/1e3) + " Seconds" 
    } 
} 

function startschedule() { 
    clearInterval(timeout); 
    clearInterval(interval); 
    timeout = setTimeout("window.location.href=window.location.href;", threshold); 
    secondsleft = threshold; 
    interval = setInterval(function() { 
     startChecking() 
    }, 1e3) 
} 

function resetTimer() { 
    startschedule(); 
    document.getElementById("div_countdown").style.display = "none"; 
    document.getElementById("timercounter").innerHTML = "" 
} 
var timeout, interval; 
var threshold = 108e4; 
var secondsleft = threshold; 
startschedule(); 
window.onload = function() { 
    startschedule() 
} 

но он не работает отлично. он обновляет страницу каждые 18 минут, а когда 30 секунд остается на экране, но проблема в том, что она обновит страницу, а обратный отсчет не будет равен 0. он будет обновляться при подсчете от 30 секунд.

+0

Почему JQuery тег? – j08691

+0

Что вы имеете в виду? – student498989394

+0

Почему вы положили тег jQuery на свой вопрос? Я не вижу никого. – j08691

ответ

0

Моя догадка заключается в том, что тайм-аут обновления и интервал проверки не синхронизированы? Возможно, вместо использования setTimeout для обновления попробуйте и запустите обновление из интервала проверки, когда осталось 0 секунд. Просто добавьте в конце вашей функции startChecking:

if (secondsleft == 0){ 
    window.location.reload(); 
} 

А затем удалите таймаут вы установите, чтобы сделать обновление.

Работа образец здесь: https://jsfiddle.net/k3jxku4s/1/

+0

Благодарю вас за ответ, вы можете отредактировать и исправить мою треску, пожалуйста? Я не знаю, что много в javascript – student498989394

+0

Добавьте это к началу. Функция проверки: 'if (secondsleft == 0) { \t window.location.reload(); } ' и вы можете удалить тайм-аут, установленный для обновления. – mbrightenfield

Смежные вопросы