A 回答 (13件中11~13件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
http://www.sasaraan.net/program/js/jscookie.html
onload時にCookieを読み出し、
setIntervalで持ち時間を減らす関数を1秒おきに呼び出し、
と同時にCookieに持ち時間の残りを書き出す。
そして持ち時間が0になったらclearTimeout。
という具合にやっていけばいいんじゃ無いでしょうか。
以下、試してみたけどたぶんNG箇所があると思います。関数名も適当^^;
持ち時間は仮に20秒にしてあります。
<html lang="ja">
<head>
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>タイトル</title>
<script type="text/javascript">
<!--
function WriteCookie( key, v ){
var str = key + "=" + escape( v ) + ";";
var dt = new Date();
dt.setDate( dt.getDate() + 365 );//Cookieを1年間保存
str += "expires=" + dt.toGMTString() + ";";
document.cookie = str;
return false;
}
function ReadCookie( key ){
var sCookie = document.cookie;
var aData = sCookie.split(";");
var oExp = new RegExp(" ", "g");
key = key.replace(oExp,"");
var i = 0;
while ( aData[i] ) {
var aWord = aData[i].split("=");
aWord[0] = aWord[0].replace( oExp,"");
if( key == aWord[0] ) return unescape(aWord[1]);
if( ++i >= aData.length ) break;
}
return "";
}
function yourTime(){
var o = document.getElementById('utime'); if( !o ) return false;
o.value = restTime + "秒";
if( restTime <= 0 ){
clearInterval( timerID );
window.alert("持ち時間を使いきりました。");
}else{
restTime--;
}
WriteCookie("RTIME", restTime );
}
function getYourTime(){
restTime = ( ReadCookie("RTIME") ? parseInt( ReadCookie("RTIME") ) : 20 );
if( restTime )timerID = setInterval( yourTime ,1000);
else window.alert("持ち時間を使いきっています。");
}
window.onload = function(){
getYourTime();
}
//-->
</script>
</head>
<body>
<form name="form1" id="form1" action="#" onsubmit="return WriteCookie('RTIME)">
<p><label for="utime">貴方の持ち時間:<input type="text" id="utime" value=""></label>
</form>
</body>
</html>
onload時にCookieを読み出し、
setIntervalで持ち時間を減らす関数を1秒おきに呼び出し、
と同時にCookieに持ち時間の残りを書き出す。
そして持ち時間が0になったらclearTimeout。
という具合にやっていけばいいんじゃ無いでしょうか。
以下、試してみたけどたぶんNG箇所があると思います。関数名も適当^^;
持ち時間は仮に20秒にしてあります。
<html lang="ja">
<head>
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>タイトル</title>
<script type="text/javascript">
<!--
function WriteCookie( key, v ){
var str = key + "=" + escape( v ) + ";";
var dt = new Date();
dt.setDate( dt.getDate() + 365 );//Cookieを1年間保存
str += "expires=" + dt.toGMTString() + ";";
document.cookie = str;
return false;
}
function ReadCookie( key ){
var sCookie = document.cookie;
var aData = sCookie.split(";");
var oExp = new RegExp(" ", "g");
key = key.replace(oExp,"");
var i = 0;
while ( aData[i] ) {
var aWord = aData[i].split("=");
aWord[0] = aWord[0].replace( oExp,"");
if( key == aWord[0] ) return unescape(aWord[1]);
if( ++i >= aData.length ) break;
}
return "";
}
function yourTime(){
var o = document.getElementById('utime'); if( !o ) return false;
o.value = restTime + "秒";
if( restTime <= 0 ){
clearInterval( timerID );
window.alert("持ち時間を使いきりました。");
}else{
restTime--;
}
WriteCookie("RTIME", restTime );
}
function getYourTime(){
restTime = ( ReadCookie("RTIME") ? parseInt( ReadCookie("RTIME") ) : 20 );
if( restTime )timerID = setInterval( yourTime ,1000);
else window.alert("持ち時間を使いきっています。");
}
window.onload = function(){
getYourTime();
}
//-->
</script>
</head>
<body>
<form name="form1" id="form1" action="#" onsubmit="return WriteCookie('RTIME)">
<p><label for="utime">貴方の持ち時間:<input type="text" id="utime" value=""></label>
</form>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPで訪問回数を表示するカウンタを作成したい 3 2023/05/27 07:09
- 介護福祉士・ケアマネージャー・社会福祉士 住宅型有料老人ホーム 運営管理 1 2023/03/03 17:54
- 医師・看護師・助産師 有料老人ホームで施設内訪問看護をしています。 1日の稼働が毎日組まれていて、1日に18件もの訪問看護 1 2023/06/11 11:51
- iPhone(アイフォーン) Applewatch購入後の質問 3 2022/10/12 07:42
- エアコン・クーラー・冷暖房機 エアコン初期不良の対応について 4 2022/08/04 19:37
- その他(ソフトウェア) OMRON PLC CP2Eのプログラム 1 2022/11/24 10:57
- iPhone(アイフォーン) 我が家には固定回線が無く、全てiPhoneからのテザリングでPCのネット接続も賄っているのですが、C 3 2022/07/08 07:08
- Windows 10 windowsの回復ドライブや復元ポイントを使用した場合の戻る位置を教えてください。 5 2023/08/19 14:52
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- 医療・介護・福祉 訪問介護と施設介護 どちらが大変だと思いますか? 4 2023/08/25 19:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ローカルにあるファイルを検索...
-
googleスプレッドシートのApps ...
-
C#OpenCv V4にのエラーに関する...
-
なぜmatchメソッドがエラーにな...
-
google apps scriptの終了のさせ方
-
テーブルセル内のinput要素のna...
-
GASでundefinedエラーが出ます
-
シンプルなweb版スタンプラリー...
-
イラレでナンバリングする方法
-
C言語の質問です HTMLでこのよ...
-
この将棋プログラムに王様ゲッ...
-
javaScript textareaの一行あた...
-
gas スプレッドシートがアクテ...
-
VSCODE[Python]の設定について
-
翌月を取得するGASが分かりません
-
四捨五入について
-
javascriptでテーブルに追加し...
-
Jscriptからのオープン
-
ASP.NET MVCでObjectをjsに渡す
-
C#で、ContextMenuStripに動的...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
google apps scriptの終了のさせ方
-
C#OpenCv V4にのエラーに関する...
-
なぜmatchメソッドがエラーにな...
-
GASでundefinedエラーが出ます
-
ジェネレーターの作り方
-
html javascript リンク先アド...
-
gas スプレッドシートがアクテ...
-
翌月を取得するGASが分かりません
-
ASP.NETのコントロールの値をJa...
-
C# 演算 奇数と偶数 表現の仕方
-
javascriptでiframeのURL変更は?
-
C#で、ContextMenuStripに動的...
-
ASP.NET MVCでObjectをjsに渡す
-
1日1回引けるJavaScriptおみく...
-
javascriptでテーブルに追加し...
-
JavaScriptを使って毎日決まっ...
-
googleスプレッドシートのApps ...
-
JavaScriptで文字列の特定文字...
-
アクセス時からのカウントダウ...
-
ローカルにあるファイルを検索...
おすすめ情報