php ajax автоматический выход с таймером - PullRequest
1 голос
/ 27 сентября 2010
<script type="text/javascript">
var t;
function startTimer(){
t=setTimeout("document.location='../login/logout.php'", 50000);
}

function  stopTimer(){
clearTimeout(t);
}
</script>

Это мой скрипт для автоматического выхода из системы,

Я хочу показать таймер обратного отсчета, Как создать и показать таймер,

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

Также таймер должен сбрасываться, а затем снова запускаться, когда система находится в режиме ожидания,

Как это сделать,

(Таймер должен показать, то есть Таймер должен работать, когда люди не касаются системы,

если пользователь коснется системы, счетчик должен перезапуститься)

Ответы [ 3 ]

3 голосов
/ 22 января 2012

Используйте эту функцию:

function timer(elem, starttime, endtime, speed, funktion, count) {
    if (!endtime) endtime = 0;
    if (!starttime) starttime = 10;
    if (!speed) speed = 1;
    speed = speed * 1000;
    if ($(elem).html() || $(elem).val()) {
        if (count == "next" && starttime > endtime) starttime--;
        else if (count == "next" && starttime < endtime) starttime++;
        if ($(elem).html()) $(elem).html(starttime);
        else if ($(elem).val()) $(elem).val(starttime);
        if (starttime != endtime && $(elem).html()) setTimeout(function() {
            timer(elem, $(elem).html(), endtime, speed / 1000, funktion, 'next');
        }, speed);
        if (starttime != endtime && $(elem).val()) setTimeout(function() {
            timer(elem, $(elem).val(), endtime, speed / 1000, funktion, 'next');
        }, speed);
        if (starttime == endtime && funktion) funktion();
    } else return;
}

Пример

timer("#timer", 50, 0, 1, function() {
    location.href = "../login/logout.php";
});
2 голосов
/ 27 сентября 2010

мой пример:

Обновлено, чтобы проверить, находится ли пользователь в режиме ожидания (установлено значение 2 секунды, это облегчает тестирование, я рекомендовал бы по крайней мере 5 или 10 минут).

1 голос
/ 14 сентября 2013

мой код здесь ... после изменения немного ... он работает для меня ...

var startSeconds = 10;
var milisec = 0;
var seconds=startSeconds;
var countdownrunning = false
var idle = false;
document.counter.timer.value=startSeconds;

function CountDown()
{ 

if(idle == true)
{

    if (milisec<=0)
    { 
        milisec=9 
        seconds-=1 
    } 
    if (seconds<=-1)
    { 
        document.location='../login/logout.php';
        milisec=0 
        seconds+=1 
        return;
    } 
    else 
    seconds-=1; 
    setTimeout("CountDown()",1000);
}
else
{
    return;
} 
}

function startCountDown()
{
   seconds = startSeconds;
   milisec = 0

   idle = true;
   CountDown();
   document.getElementById("alert").innerHTML = 'You are idle. you will be logged out after ' + startSeconds + ' seconds.';
   countdownrunning = false;   
}

function resetTimer()
{ 
    idle = false;    

    if(countdownrunning)
        setTimeout('startCountDown()',2000);

    countdownrunning = true;

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...