2013-12-12 2 views
1

페이지를 새로 고칠 때마다 타이머가 업데이트되지 않도록 편집하고 싶습니다.JS : 페이지를 새로 고친 후에도 타이머가 계속됩니다.

타이머가 여전히 동일 할 때 내 코드 페이지를 새로 고쳐야하기 때문에 검색하고 AJAX를 사용할 수 없습니다.

또한 세션에서 저장하려고했지만 JS에서는 작동하지 않습니다.

JS :

var mins 
    var secs; 

function cd() { 
mins = 1 * m("5"); // change minutes here 
secs = 0 + s(":01"); 
redo(); 
} 

function m(obj) { 
for(var i = 0; i < obj.length; i++) { 
    if(obj.substring(i, i + 1) == ":") 
    break; 
} 
return(obj.substring(0, i)); 
} 

    function s(obj) { 
for(var i = 0; i < obj.length; i++) { 
    if(obj.substring(i, i + 1) == ":") 
    break; 
} 
return(obj.substring(i + 1, obj.length)); 
} 

function dis(mins,secs) { 
    var disp; 
    if(mins <= 9) { 
     disp = " 0"; 
    } else { 
     disp = " "; 
    } 
    disp += mins + " ."; 
    if(secs <= 9) { 
     disp += "0" + secs; 
    } else { 
     disp += secs; 
    } 
    return(disp); 
} 

function redo() { 
    secs--; 
    if(secs == -1) { 
     secs = 59; 
     mins--; 
    } 
    document.cd.disp.value = dis(mins,secs); // setup additional displays here. 
    if((mins == 0) && (secs == 0)) { 
     window.alert(" Hey Time is up. Press OK to continue."); 
     window.location = "results_random.php" // redirects to specified page once timer ends and ok button is pressed 
    } else { 
     cd = setTimeout("redo()",1000); 
    } 
} 

function init() { 
    cd(); 
    } 
    window.onload = init; 
    </script> 

형태 :

<form name="cd"> 
<label> 
<span class="labe">Remaining Time</span>: 
<input name="disp" type="text" class="clock" id="txt" value="10:00" size="10"  readonly="true" align="right" border="1" /> 
<span class="labe">Minutes</span> 
</form> 

어쨌든, 당신이 도움이 될 수 있습니다 감사를 바랍니다.

+1

왜 PHP 제목에? 질문에 대답하려면 영구 저장 장치를 localstorage 또는 쿠키로 사용해야하지만 브라우저의 캐시에 의존합니다. 내가 당신의 질문을 이해했기를 바랍니다. –

+0

@ A.Wolff 죄송합니다. 어떻게해야합니까? – user3013190

+0

아무 것도 없다. 클라이언트 브라우저에있는 모든 PHP가 동시에이 문제가된다 ... 브라우저 페이지가 다시로드되면 상태가 손실되고 상태를 유지할 방법을 찾아야한다! –

답변

관련 문제