プラグイン集

無料ブログはココログ
2022年5月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

サンプルJS

  • ユーロバカ一代の締切
    ・・・初期化中・・・

« アンコウ祭り | トップページ | VDSforGPSのスキンコード »

2015年11月24日 (火)

サンプルカウントダウンのJavaScript

このページで左側の下で表示していたカウントダウンスクリプトのソースコードを表示します。

//注意:2個以上設置できません(内部処理の都合)
//表示0.1秒単位まで、10msの表示も可能ですが、負荷が跳ね上がるのでよろしくないです。
//一か月=30日の完全におバカ仕様。※うるう年未対応。(グレゴリウスとかユリウス暦の計算面倒臭いし・・・。)
//ソースコード直接書き換え型ですみません。
//製作:@nekomimimaiden 2015年10月12日9:12:15

var taimaa;//タイマー変数を格納する(触っちゃダメ。)

//更新頻度
//1000にすれば1秒ごとに更新、10にすれば10ms、1にすれば1msで更新になるが、
//Windowsは高解像度タイマーを使うソフト(メディアプレイヤーなど)が起動していない限り50ms単位が基準になる。
//なので50ms以下にしてもほとんど意味が無い上に、負荷が増えるだけなのでお勧めしない。
var kousinnhinndo=100;//既定は100ms単位

//0日とか0ヶ月か0年とかを表示する=1、しない=0
var zerohairu=0; //表示してても長ったらしいだけなので省略させる。(デフォルト値:0)

//時・分・秒などの2桁表示する=1、しない=0
var niketa_hyouji=1; //2桁あるとデジタルっぽくなるらしいのでする(デフォルト値:1)

//ここに目的の日時と時刻をセットしてください。
//ここでは、ユーロバカのエディットとリミックスの期日(2015年11月23日24:0:0.00)を設定してみます。
var ta_year=2015; //年(例:2015年)
var ta_month=11; //月(例:11月)
var ta_day=23; //日(例:23日)
var ta_hour=24; //時(例:24時)
var ta_minute=0; //分(例:0分)
var ta_second=0; //秒(例:0秒)
var ta_milisec=0; //ミリ秒(例:0ミリ秒)

//ここに残り時間の前に表示するメッセージを記載してください。
//文末の「
」は改行なので、1行で表示させたい場合は取り除いて下さい。(つまり、「
」を入れれば、任意の位置で改行できます。) //不恰好ですが、&や!等の記号使う場合は全角でお願いします。(プログラム上で意味を持つ記号になるので、半角だと誤動作してしまします。) var pre_messages="第1回 大陸間REMIX武道会&第2回 大陸間EDIT武道会の締め切りまで、
"; //ここに残り時間の後に表示するメッセージを記載してください。 //行頭の「
」はやはり改行です。 var post_messages="
提出がまだの人は、Ver0.5とVer.087を直ちに入手して参加だ!!"; //期限切れの時に表示するメッセージを記載してください。 var kigen_gire_msg="押忍!大会の参加締切は終了しました。次は必ず参加せよ!"; //目標の日にちを作る var ta_xday; ta_xday = new Date( ta_year, ta_month -1 , ta_day, ta_hour, ta_minute, ta_second, ta_milisec );//月は0-11で管理されるので、-1して帳尻を合わせる //起動時(webページロード時)に実行する window.onload = function(){ taimaa = setInterval('kauntodaun()', kousinnhinndo); // 一定間隔ごとに実行したい処理kauntodaun()を登録 } //カウントダウン本体 function kauntodaun(){ // 一定時間ごとにやりたい処理 var kyouha; var jikan_sabun;//設定時刻との差分を取得 kyouha = new Date();//現在時刻の取得 jikan_sabun = ta_xday.getTime() - kyouha.getTime(); //時間切れはメッセージを表示してタイマー停止。 if(jikan_sabun < 0){ document.getElementById("countdownAria").innerHTML=kigen_gire_msg; clearInterval(taimaa);//タイマー停止 return; } //残存を計算する。 //ミリ秒*秒*分*時間*日 //年 var result_year = Math.floor(jikan_sabun / (1000 * 60 * 60 * 24 * 365)); jikan_sabun -= result_year * 1000 * 60 * 60 * 24 * 365; //月 var result_month = Math.floor(jikan_sabun / (1000 * 60 * 60 * 24 * 30)); jikan_sabun -= result_month * 1000 * 60 * 60 * 24 * 30; //日 var result_day = Math.floor(jikan_sabun / (1000 * 60 * 60 * 24)); jikan_sabun -= result_day * 1000 * 60 * 60 * 24; //時 var result_hour = Math.floor(jikan_sabun / (1000 * 60 * 60)); jikan_sabun -= result_hour * 1000 * 60 * 60; //分 var result_min = Math.floor(jikan_sabun / (1000 * 60)); jikan_sabun -= result_min * 1000 * 60; //秒 var result_sec = Math.floor(jikan_sabun / 1000 ); jikan_sabun -= result_sec * 1000; //ミリ秒 var result_milisec = Math.floor(jikan_sabun); //数字の桁を整形する if(niketa_hyouji) { if (result_month < 10) result_month = "0" + result_month; if (result_day < 10) result_day = "0" + result_day; if (result_hour < 10) result_hour = "0" + result_hour; if (result_min < 10) result_min = "0" + result_min; if (result_sec < 10) result_sec = "0" + result_sec; if (result_milisec < 10) result_milisec = "00" + result_milisec; if (result_milisec < 100 && result_milisec >= 10) result_milisec = "0" + result_milisec; } //最終結果を組み立てる if(zerohairu){ document.getElementById("countdownAria").innerHTML=pre_messages + result_year + "年" + result_month + "ヶ月" + result_day + "日" + result_hour + "時間" + result_min + "分" + result_sec + "秒" + result_milisec + post_messages; return; } var full_kekka=""; //年はあるか? if(result_year) { if(result_year == "00"){ }else{ full_kekka+=result_year + "年"; } } //月はあるか? if(result_month){ if(result_month == "00"){ }else{ full_kekka+=result_month + "ヶ月"; } } //日はあるか? if(result_day) if(result_day == "00"){ }else{ full_kekka+=result_day + "日"; } //時はあるか? if(result_hour) if(result_hour == "00"){ }else{ full_kekka+=result_hour + "時間"; } //分はあるか? if(result_min) if(result_min == "00"){ }else{ full_kekka+=result_min + "分"; } //秒はあるか? if(result_sec) if(result_sec == "00"){ }else{ full_kekka+=result_sec + "秒"; } //ミリ秒 if(result_milisec) if(result_milisec == "00"){ }else{ full_kekka+=result_milisec + "ミリ秒"; } //画面出力 document.getElementById("countdownAria").innerHTML=pre_messages + full_kekka + post_messages; }

ダウンロード test.js (6.5K)

大体コメントにぶち込んだ通りの⑨仕様。動けばいいのよコードです。なんか昔phpとJavaScriptを組み合わせたPukiwikiのプラグインを作った気がするが・・・考え進化してないな。

先日、24日にユーロ大会に出したUnityソースはまた今度。

« アンコウ祭り | トップページ | VDSforGPSのスキンコード »

プログラミング」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: サンプルカウントダウンのJavaScript:

« アンコウ祭り | トップページ | VDSforGPSのスキンコード »