2012-04-29 70 views
0

林建立一個考試模擬器,從10分鐘倒計時,當它擊中00:00考試題被隱藏和一個div顯示「你我們的時間」,但如果我點擊刷新瀏覽器它回到10:00,但我想要它做的是再次顯示時間div! Iv在下面玩了我的jquery,但是我不知道我的錯在哪裏,定時器存儲在cookie中,所以如果用戶在考試中的任何給定時間按f5,cookie會從用戶按下f5時開始倒計時!所以我的問題是,有人可以幫助我修改下面的JQuery,如果時間是00:00,則顯示超出時間的div,並且即使用戶刷新了瀏覽器仍然顯示。問題與Jquery餅乾/計時器

$(function() { 
       $('.clock').each(function() { 
        var clock = $(this), 
        theTime = $.cookie('time'), 
        seconds = "00", minutes = 10; 
        if (theTime && theTime != "0:00") { 
         theTime = theTime.split(":") 
         minutes = theTime[0] 
         seconds = theTime[1] 
        } 
        $('.min', clock).text(minutes) 
        $('.sec', clock).text(seconds) 
        var timer = setInterval(function() { 
         var m = $('.min', clock), minutes = +m.text(), 
          s = $('.sec', clock), seconds = -1 + +s.text() 
         if (seconds < 0) { 
          seconds = 59 
          minutes-- 
         } else if (minutes <= 0 && seconds <= 0) { 
          clock.html('Timer Complete.'); 
          clearInterval(timer); 
          $.cookie('time', '', { expires: -1 }) 
          $('#feedbackform').hide(); 
          $('#MainContent_DivOutOfTime').toggle(); 
          return; 
         } 
         seconds = seconds < 10 ? '0' + seconds : seconds 
         m.text(minutes) 
         s.text(seconds) 
         $.cookie('time', minutes + ":" + seconds, { expires: -1 }) 
        }, 
       1000); 
       }); 
      }); 

㈣嘗試刪除從代碼

if (seconds < 0) { 
    seconds = 59 
    minutes-- 
} else 

這樣,它會檢查的時間,然後顯示在div但無濟於事以下!我也刪除了clearInterval ...任何幫助將不勝感激

+0

您是否從'$ .cookie(「time」)'獲得正確的數據? – rgin

+1

只要你意識到,所有人都必須做的打敗你的基於cookie的系統是手動清除cookie,運行其他瀏覽器,轉到另一臺計算機,在他們的計算機上創建一個不同的用戶等等......即使你得到這個工作,它將需要幾秒鐘繞過。 – jfriend00

+0

@ jfriend00最好的辦法是什麼來阻止你提到的事情發生? –

回答

0

這行不清除cookie?嘗試刪除它。

$.cookie('time', '', { expires: -1 }) 
+0

剛剛刪除,它仍然重新啓動在10:00? –

+0

找到爲什麼它重置,因爲這條線,當它第一次進入函數秒=「00」,分鐘= 10; –