javascript初心者です。


訪問してから1日限定で見れるページを作りたく、
残り時間をカウントダウンさせるのに

jQueryプラグイン、”jquery.jCountr.js”
にて、

==========
$(function(){
$("#counter").counter({
hour : 24,
min : 0,
sec : 0,
finish_function : 'alert("おしまい!!");'
});
});
==========

<span id="counter"></span>

と、カウントさせるまでは出来ましたが、
期限内に再訪問した場合、
cookieにて前回訪問時のカウントを引き継ぎたいのですが…



”cookie.js”というので出来そう~(?) みたいなところまでは調べれましたが、
説明が私には難解で。。。

具体的なソースを出していただければ-と質問させていただきました。

(期間後は別ページに飛ばし、そちらの処理はOkです。)


皆様、どうぞよろしくお願い致します。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2010/08/20 02:24:12
  • 終了:2010/08/27 02:25:02

ベストアンサー

id:Cherenkov No.1

Cherenkov回答回数1503ベストアンサー獲得回数4932010/08/20 07:23:48

ポイント60pt

こんな感じでいかがでしょうか。

この質問のコメント欄を有効にしておいた方がいいです。バグがあった場合などコメント欄でやり取りすればポイントがかかりません。


<html>
<head>
<script src="jquery.js"></script>
<script src="jquery.jCountr.1.2.js"></script>
<script src="jquery.cookie.js"></script>
<script>
$(function(){
  //デバッグ用 cookie削除
  //$.cookie('end_time', null);

  //cookieから終了時刻を取得。文字列なので数値に変換。
  var end_time = parseInt($.cookie('end_time'));
  var count_ms;

  if(end_time) {
    // カウントミリ秒を計算
    count_ms = end_time - new Date().getTime();
  } else {
    // 制限時間をミリ秒で指定
    count_ms = 1000 * 60 * 60 * 24;

    // 終了時刻をcookieに格納
    var end_time = new Date().getTime() + count_ms;
    $.cookie('end_time', end_time);
  }

  $("#counter").counter({
    // ミリ秒から秒に直して設定
    sec : count_ms / 1000,
    finish_function : 'alert("おしまい!!");'
  });
});
</script>
</head>
<body>
<span id="counter"></span>
</body>
</html>

メモ

jquery.jCountr.js 24時間でセットした際、最初に24:01:00になるなど変なところありますね。


参考

id:mikomeko

ありがとうございます!

”参考”等ひたすら見たのですがわからなく何時間もさまよっていましたが、

思い切って質問させていただき本当に良かったです。

丸投げするなーと怒られるかと思ったのですが。。。

感謝です!

2010/08/20 10:11:37

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません