2019年2月18日月曜日

AClock - Aaresia連動の時計ソフト



  アラーム/タイマー/ストップウォッチ機能付きの時計ソフトです。
  Aaresiaで呼び出す際の記述例:<f,290,260,1:0000/AClock.html>

--上2段--
  時刻表示/アラーム:時/分を入力し▶でセット、Xで取り消し、■はアラーム音を止めます。

--下2段--
  キッチンタイマー:下から時間を追加していき開始でスタート、停止で一時停止、その右のボタンでセットした時間で再スタートできます。初期化で0に戻します。
  ストップウォッチ:開始の右にある [-] ボタンを押すと [+] に代わり、時間が逆に追加されていきます。開始と停止はできますが、時刻がただただ追加されていき、アラームは鳴りません。

--アラーム音--
  【効果音】飛行機離陸前チャイム「ポーン」が驚かせる感が抑えられているため、おすすめです。

--公開コード--
以下をコピペしてhtmlファイルとして保存します。アラーム音は同フォルダにAClock.webmとして保存します。

<!DOCTYPE html><meta charset='UTF-8'><style>*{border-radius:5px;font-family:Cica;background:#f9f9f9;color:#18185d}#h,#m{width:30px}#v{display:none}#nw,#tm{font-size:32px;color:#167ac6}button{height:30px;font-size:16px}button:hover{color:#ea0003}</style><body><b id=nw></b><hr>時<input id=h> 分<input id=m> <button id=b>▶</button><button id=d>✕</button> <button onclick=ST()>■</button> <b id=s></b><hr><b id=tm></b> <button id=b1>開始</button> <button id=b2></button> <button id=b3>-</button><hr><button id=m0>初期化</button><button id=m1>1時間</button><br><button id=m2>30分</button><button id=m3>10分</button><button id=m4>5分</button><button id=m5>3分</button><button id=m6>1分</button><br><button id=m7>30秒</button><button id=m8>10秒</button><button id=m9>1秒</button><video id=v src='AClock.webm' loop></video></body><script>
I('v').volume=0.3; // 音量
tr=0;tr2=0;TM(tr);sw=0;tn=1;
w=["日","月","火","水","木","金","土"],h=-1,m=-1; // 曜日Set
setInterval(function(){let t=new Date();document.title=I('nw').innerHTML=('0'+t.getHours()).slice(-2)+':'+('0'+t.getMinutes()).slice(-2)+'['+('0'+t.getSeconds()).slice(-2)+'] '+(t.getMonth()+1)+'/'+(t.getDate())+w[t.getDay()];if(t.getHours()==h&&t.getMinutes()==m){A();D()}if(sw){if(tr2==0)tr2=tr;tr2-=tn;if(tr2<1){tr2=0;A();sw=0;I('b1').innerHTML='開始'}TM(tr2,1)}},1000); // 毎秒Titleに現在時刻
I('b').onclick=function(){h=I('h').value;m=I('m').value;I('s').innerHTML=('0'+h).slice(-2)+':'+('0'+m).slice(-2)}; // 時刻Set
I('m0').onclick=function(){tr=0;tr2=0;ST();TM(tr)} // タイマーSet
I('m1').onclick=function(){tr+=3600;tr2=tr;TM(tr)}
I('m2').onclick=function(){tr+=1800;tr2=tr;TM(tr)}
I('m3').onclick=function(){tr+=600;tr2=tr;TM(tr)}
I('m4').onclick=function(){tr+=300;tr2=tr;TM(tr)}
I('m5').onclick=function(){tr+=180;tr2=tr;TM(tr)}
I('m6').onclick=function(){tr+=60;tr2=tr;TM(tr)}
I('m7').onclick=function(){tr+=30;tr2=tr;TM(tr)}
I('m8').onclick=function(){tr+=10;tr2=tr;TM(tr)}
I('m9').onclick=function(){tr+=1;tr2=tr;TM(tr)}
I('b1').onclick=function(){sw=-(sw-1);ST();I('b1').innerHTML=sw==1?'停止':'開始'}
I('b2').onclick=function(){tr2=tr;TM(tr)}
I('b3').onclick=function(){I('b3').innerHTML=tn==1?'+':'-';tn=-tn} // Timer切り替え
function A(){I('v').play()} // 音再生
I('d').onclick=D;function D(){h=-1,m=-1;I('s').innerHTML=''} // 時刻Dell
function TM(tr,a){let s=tr%60,m=(tr-s)/60;I('tm').innerHTML=m+':'+('0'+s).slice(-2);if(!a){I('b2').innerHTML=m+':'+('0'+s).slice(-2);ST()}} // Timer表示
function ST(){I('v').pause();I('v').currentTime=0} // 音停止
function I(i){return document.getElementById(i)}</script>