Javascript로 짠 코드
| cs |
jQuery로 짠 코드
|
위아래는 같은 코드이다
초기에 jQuery에 빨강 바탕에 흰색 글씨로 되있다가 마스스로 클릭하면 옮겨진다.
이부분이 Javascript로 구현한 부분이다
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
|
<script type="text/javascript">
function addEvent(target, eventType,eventHandler, useCapture) {
if (target.addEventListener) { // W3C DOM
target.addEventListener(eventType,eventHandler,useCapture?useCapture:false);
} else if (target.attachEvent) { // IE DOM
var r = target.attachEvent("on"+eventType, eventHandler);
}
}
function clickHandler(event) {
var nav = document.getElementById('navigation');
for(var i = 0; i < nav.childNodes.length; i++) {
var child = nav.childNodes[i];
if(child.nodeType==3)
continue;
child.className = '';
}
event.target.className = 'selected';
}
addEvent(window, 'load', function(eventObj) {
var nav = document.getElementById('navigation');
for(var i = 0; i < nav.childNodes.length; i++) {
var child = nav.childNodes[i];
if(child.nodeType==3)
continue;
addEvent(child, 'click', clickHandler);
}
})
</script>
| cs |
이부분이 jQuery 부분이다. Javascript보다 훨씬 간결해진 모습을 보여준다.
1
2
3
4
5
6
7
|
<script type="text/javascript">
$('#navigation li').live('click', function() {
$('#navigation li').removeClass('selected');
$(this).addClass('selected');
})
</script>
| cs |
CSS로 구현해준부분이다.
<style type="text/css">
#navigation li {
list-style:none;
float:left;
padding:5px;
}
#navigation {
cursor:pointer;
}
#navigation .selected {
background-color:red;
color:white;
}
</style>
Javascript는 이벤트가 발생되면
addEvent(window, ' load',function(eventObj)함수 안에서
addEvent(child, 'child', clickHandler);를 다시 호출하여
class="select"를 옮겨준다.
jQuery에서는 이벤트에 이벤트가 발생된 객체를 바로 인자로 넘겨준다.
댓글
댓글 쓰기