JavaScriptを使って毎日決まった時間に同じ作業を繰り返し行うには?
毎日15時になったら
parent.frames("A1").location.href = "2-A.html"
parent.frames("B1").location.href = "2-Aクリック.html"
を行いたい。というJavascriptを組みたいのですが、全く謎に包まれてきました。
色んな所で調べながらで調べながら自分なりに下記の様に作ってみたんですが…良くわからなくなってしまいました…
なんとかタイマーらしくカウントダウンはするんですが、時間を過ぎると白紙になってしまいます…
なんとか助けていただけないでしょうか?
<body>
<p align="center" class="style1">
発射まで<input type="text" name="tm2" size="1">時間<input type="text" name="tm2" size="1">分<input type="text" name="tm2" size="1">秒</p>
<script type="text/javascript">
var CountDownGenerator = function (y, m, d, hh, mm, ss) {
var t = new Date(y, m-1, d, hh || 0, mm || 0, ss || 0);
var s = y + '年' + m + '月' + d + '日' +
(undefined === hh ? '': hh + '時') +
(undefined === mm ? '': mm + '分') +
(undefined === ss ? '': ss + '秒');
return function () {
var sa = t - (new Date);
sa = sa / 1000 |0;
if (sa<0) return { end: true };
var ss = sa % 60; sa = sa / 60 |0;
var mm = sa % 60; sa = sa / 60 |0;
var hh = sa % 24; sa = sa / 24 |0;
var dd = sa;
return {
day: dd, hours: hh, minutus: mm, seconds:ss, str:s, end:false
};
};
}
var Viewer = function (c, nm) {
var txt = document.getElementsByName(nm);
return function() {
var time = c();
if (time.end) return
txt[0].value = time.hours;
txt[1].value = time.minutus;
txt[2].value = time.seconds;
setTimeout( arguments.callee, 1000);
}();
};
var hiduke = new Date();
var myyear = hiduke.getYear(); // 年
var mymonth = hiduke.getMonth() + 1; // 月
var myday = hiduke.getDate(); // 日
var myhour = hiduke.getHours(); // 時
var mymin = hiduke.getMinutes(); // 分
var mysec = hiduke.getSeconds(); // 時
//--------実際に実行する時間---
var hahour = '15';// 時
var hamin = '00';// 時// 分
var hasec = '00';// 時
//-----------------------------
var jikkou = CountDownGenerator(myyear, mymonth, myday, hahour,hamin,hasec);
Viewer(jikkou, 'tm2');
if(!jikkou << hiduke){
parent.frames("A1").location.href = "2-A.html"
parent.frames("B1").location.href = "2-Aクリック.html"
}
//-->
</script>
お礼
ご回答ありがとうございます。お礼が大変遅くなり、申し訳ありません。 現状のjavascriptに何か加えるのかと思っていたのですが、そういう手順で分解して考えればいいのですね! javascriptの知識はほとんどなく、いつもネット上で紹介されているものをコピペばかりだったのですが、いよいよじっくり取り組むときが来たようです。 がんばってみます! 分かりやすく、丁寧にお教え下さりありがとうございました。 やってみてまた分からなくなったら質問投稿させていただきます。 もしご縁がありましたら、またよろしくお願いいたします。 お忙しいところありがとうございました!