On Github imazine / JavaScript4Control
현업에서의 JavaScript 이야기.
JavaScript 는 과연 무엇을 할 수 있을까요?
// DOM Create var DOM = document.createElement(TagName); // DOM inject document.body.appendChild(DOM); // DOM style change DOM.style.property = 'style';
슬라이드인 하는 메뉴를 만들어 봅시다.
// jQuery animate
var nav = $('NavigationDOM'),
button = $('NavButton'),
navStatus = false;
nav.click(function(){
if (navStatus){
nav.animate({left: -200}, 1000, 'swing');
} else {
nav.animate({left: 0}, 1000, 'swing');
}
navStatus = !navStatus;
});
// Vanila script : Native JavaScript
var nav = document.getElementById('NavigationDOM'),
button = document.getElementById('NavButton'),
navStatus = false;
button.addEventListener('click', function(){
if (navStatus) {
leftTo(nav, -200);
} else {
leftTo(nav, 0);
}
navStatus = !navStatus;
});
function leftTo(elem, dest) {
var current = elem.offsetLeft,
direction = current < dest ? Math.ceil : Math.floor,
timer;
window.clearTimeout(timer);
if (current != dest){
var easingTo = (current - dest) * 0.2;
elem.style.left = direction(current - easingTo) + 'px';
timer = setTimeout(function() {
leftTo(elem, dest);
}, 16);
}
}
페이지 소스 보기를 이용해서 해당 소스를 확인해 주세요 :D
// JUST CONTROL CheckBoX !!
var button = document.getElementById('NavButton'),
navStatus = document.getElementById('NavStatus');
button.addEventListener('click', function() {
navStatus.checked = !navStatus.checked;
});
페이지 소스 보기를 이용해서 해당 소스를 확인해 주세요 :D