2012-04-29 15 views
0

10分からカウントダウンする試験シミュレータをビルドします。00:00になると試験問題は非表示になり、divは「自分の時間」と表示されますが、ブラウザは10時に戻ってきますが、私はそれをやりたいのですが、もう一度divの時間を表示することです! Ivは私のjqueryの下で遊んだが、どこが間違っているのか分かりません。タイマーはクッキーに保存されていますので、ユーザーがf5を押すとf5が押されたときからクッキーがカウントダウンします。だから私の質問は、時間が00:00の場合、時間のdivを表示し、ユーザーがブラウザをリフレッシュしても表示されたままにするために、以下のJQueryを変更する手助けをすることができます。Issue with Jquery Cookie/Timer

$(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); 
       }); 
      }); 

IVは、それは時間を確認し、その後のdivを表示しますが、無駄になりそうすれコード

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

から以下を削除してみました!私もclearIntervalを削除しました...どんな助けも高く評価されます

+0

'$ .cookie(" time ")'から正しいデータを取得していますか? – rgin

+1

クッキーベースのシステムを倒すためには、クッキーを手動で消去したり、別のブラウザを実行したり、別のコンピュータに移動したり、別のユーザーを作成したりするなど、これがうまくいくと、バイパスするのに数秒かかるでしょう。 – jfriend00

+0

@ jfriend00あなたが起こったことから何か言及したことを止める最善の方法は何でしょうか? –

答えて

0

この行はクッキーをクリアしませんか?削除してください。

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

これを削除しても、それはまだ10:00に再開しますか? –

+0

なぜ、最初に関数seconds = "00"、minutes = 10に入ったときにこの行が原因でリセットされたかを知りました。 –