【javascript】デバッグ関数(Debug function)
- 【HTML】
-
<div class="Debug Hide"></div>
- 【CSS】
-
.Debug { position: absolute; left: 0; right: 0; bottom: 0; height: 6rem; overflow: scroll; } .Hide { display: none; } - 【Javascript】
-
function debug() { var i, length = arguments.length; var element = document.querySelector('.Debug'); element.classList.remove('Hide'); for (i = 0; i < length; i ++) { element.innerHTML = arguments[i] + '<br />' + element.innerHTML; } }
- 【使い方】
debug(1, 2, 3);
【javascript】要素を重ね合わせる(overlap elements)
- 【HTML】
-
<div class="Cursor"><div></div></div>
- 【CSS】
-
.Cursor { position: absolute; padding: 0; margin: 0; } .Cursor div { position: absolute; border: 1px dotted blue; left: 0; top: 0; right: 0; bottom: 0; } - 【Javascript】
-
(function () { var select = new Event('SelectElement', {bubbles: true}); (function (click) { document.addEventListener('click', click, false); })(function (event) { var target = event.target; var rect = target.getBoundingClientRect(); var cursor = document.querySelector('.Cursor'); if (target.closest('.Cursor')) { return; } cursor.style.left = rect.left + 'px'; cursor.style.top = rect.top + 'px'; cursor.style.width = rect.width + 'px'; cursor.style.height = rect.height + 'px'; cursor.classList.remove('Hide'); target.dispatchEvent(select); }); })();
- 【使い方】
(function (select) {
document.addEventListener('SelectElement', select, false);
})(function (event) {
var target = event.target;
console.log(target);
});
【javascript】数字をアルファベットに変換(Number to alphabet)
// 0=A 1=B 2=C ...
var a = String.fromCharCode(65 + i);
【CSS】【javascript】要素の中心を基準に描画(Draw relative to the center of the element.)
- 【HTML】
-
<div class="Container"><div class="Contents"></div></div>
- 【CSS】
-
.Container { position: absolute; width: 0; height: 0; overflow: visible; } .Container .Contents { position: absolute; left: -1rem; // herf width top: -1rem; // herf height right: -1rem; // herf width bottom: -1rem; // herf height background-color: #6699FF; }
- 【使い方】
var container = document.querySelector('.Container');
// Container's center is the origin.
container.style.left = '100px';
container.style.right = '100px';
【javascript】【Gimmick】トグルスイッチ Toggle Switch
- 【HTML】
-
<div class="Toggle"></div>
- 【CSS】
-
.Toggle { position: relative; width: 3rem; height: 1rem; border-radius: 0.5rem; border: 1px solid black; } .Toggle::before { content: ""; position: absolute; left: 1px; width: 1rem; height: 1rem; background-color: #6699FF; border-radius: 50%; } .Toggle.On::before { left: auto; right: 1px; } - 【Javascript】
-
(function () { var toggle = new Event('ChangeToggle', {bubbles: true}); (function (click) { document.addEventListener('click', click, false); })(function (event) { var target = event.target; if (!target.classList.contains('Toggle')) { return; } target.classList.toggle('On'); target.dispatchEvent(toggle); }); })();
- 【使い方】
(function (toggle) {
document.addEventListener('ChangeToggle', toggle, false);
})(function (event) {
var target = event.target;
console.log(target.classList.contains('On'));
});
【javascript】PHPライクの日時フォーマット関数
var DateTime = {
Format: function (date, format) {
var result = format;
var week = ['日', '月', '火', '水', '木', '金', '土'];
var replacement = {
'%d' : DateTime.FillZero(date.getDate()),
'%j' : date.getDate(),
'%w' : week[date.getDay()],
'%N' : date.getDay(),
'%W' : DateTime.WeekNumber(date),
'%y' : date.getFullYear() % 100,
'%Y' : date.getFullYear(),
'%m' : DateTime.FillZero(date.getMonth() + 1),
'%n' : date.getMonth() + 1,
'%G' : date.getHours(),
'%H' : DateTime.FillZero(date.getHours()),
'%i' : DateTime.FillZero(date.getMinutes()),
'%s' : DateTime.FillZero(date.getSeconds()),
'%u' : date.getMilliseconds()
};
var key;
for (key in replacement) {
result = result.replace(key, replacement[key]);
}
return result;
},
FillZero: function (number) {
return number < 10 ? '0' + number : number;
},
WeekNumber: function (date) {
var firstDate = new Date(date.getFullYear(), 0, 1);
var numberOfDays = Math.floor((date - firstDate) / 24 / 60 / 60 / 1000);
return Math.ceil((date.getDay() + 1 + numberOfDays) / 7);
}
};
- 【引数】
-
- date: Date変数
- format: 出力フォーマット
- 【使い方】
DateTime.Format(new Date(), '%Y-%m-%d %H:%i:%s');