コンテンツにスキップ

利用者:Atmark-chan/BotTotalTimeCalc.js

お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。

多くの WindowsLinux のブラウザ

  • Ctrl を押しながら F5 を押す。

Mac における Safari

  • Shift を押しながら、更新ボタン をクリックする。

Mac における ChromeFirefox

  • Cmd Shift を押しながら R を押す。

詳細についてはWikipedia:キャッシュを消すをご覧ください。

function totalTime() {
	var interval = document.getElementById('intervalTb');
	var editPages = document.getElementById('editPagesTb');
	var totalTimeTd = document.getElementById('totalTimeTd');
	if (interval.value === '' || editPages.value === '') {
		totalTimeTd.innerHTML = '';
	} else {
		interval.value = interval.value.replace(/[^\d]/g, '');
		editPages.value = editPages.value.replace(/[^\d]/g, '');
		interval = Number(interval.value);
		editPages = Number(editPages.value);
		if (document.getElementById('intervalUnit').value == 'min') {
			interval *= 60;
		}
		var ansSec = interval * editPages;
		var ansSecStr = '秒';
		var ansMin;
		var ansMinStr;
		var ansHou;
		var ansHouStr;
		var ansDay;
		var ansDayStr;
		if (ansSec >= 60) {
			ansMin = Math.floor(ansSec / 60);
			ansMinStr = '分';
			ansSec = ansSec % 60;
		} else {
			ansMin = '';
			ansMinStr = '';
		}
		if (ansMin >= 60) {
			ansHou = Math.floor(ansMin / 60);
			ansHouStr = '時間';
			ansMin = ansMin % 60;
		} else {
			ansHou = '';
			ansHouStr = '';
		}
		if (ansHou >= 24) {
			ansDay = Math.floor(ansHou / 24);
			ansDayStr = '日';
			ansHou = ansHou % 24;
		} else {
			ansDay = '';
			ansDayStr = '';
		}
		ansStr = '<b> ' + zero(ansDay) + '</b> ' + ansDayStr + ' <b> ' + zero(ansHou) + '</b> ' + ansHouStr + ' <b> ' + zero(ansMin) + '</b> ' + ansMinStr + ' <b> ' + zero(ansSec) + '</b> ' + ansSecStr;
		totalTimeTd.innerHTML = ansStr;
	}
}
function zero(num) {
	if (num === '') {
		ans = '';
	} else if (num < 10) {
		ans = '0' + String(num);
	} else {
		ans = String(num);
	}
	return ans;
}

HTMLtext
	= '<h2>計算機</h2>'
	+ '<table id="calcTbl">'
	+ '<tr class="calcTblText">'
	+ '<td></td>'
	+ '<td>編集間隔</td>'
	+ '<td></td>'
	+ '<td>編集数</td>'
	+ '<tr class="calcTblCntr">'
	+ '<td></td>'
	+ '<td>'
	+ '<input id="intervalTb" class="calcTb" type="text" onchange="totalTime();" onkeydown="totalTime();" onkeyup="totalTime();" />'
	+ '<select id="intervalUnit" class="calcUnit" onchange="totalTime();">'
	+ '<option value="sec">秒</option>'
	+ '<option value="min">分</option>'
	+ '</select>'
	+ '</td>'
	+ '<td>×</td>'
	+ '<td><input id="editPagesTb" class="calcTb" type="text" onchange="totalTime();" onkeydown="totalTime();" onkeyup="totalTime();" /><span class="calcUnit">回</span></td>'
	+ '<tr class="calcTblText">'
	+ '<td></td>'
	+ '<td colspan="3">所要時間</td>'
	+ '<tr>'
	+ '<td class="calcTblCntr">=</td>'
	+ '<td id="totalTimeTd" class="bodyContent" colspan="3"></td>'
	+ '</table>'
	+ '<style type="text/css">'
	+ '#calcTbl {'
	+ 'width: 100%;'
	+ 'margin-top: 30px;'
	+ 'border-radius: 10px;'
	+ 'background-color: khaki;'
	+ '}'
	+ '.calcTblText {'
	+ 'font-size: 120%;'
	+ '}'
	+ '.calcTblCntr {'
	+ 'text-align: center;'
	+ '}'
	+ '.calcTb {'
	+ 'width: 80%;'
	+ 'font-size: 120%;'
	+ 'font-family: Courier New, Consolas;'
	+ '}'
	+ '.calcW35 {'
	+ 'width: 35%;'
	+ '}'
	+ '.calcW5 {'
	+ 'width: 5%;'
	+ '}'
	+ '.calcUnit {'
	+ 'display: inline-block;'
	+ 'width: 10%;'
	+ 'min-width: 40px;'
	+ '}'
	+ '</style>' ;
//divオブジェクト取得
var div1 = document.getElementById("bodyContent");
//Element作成
var elem = document.createElement("div");
elem.id = "id";
elem.innerHTML = HTMLtext;
//末尾にElementを追加
div1.appendChild(elem);