뜬금없이 별이 있다. 항상 문제를 보면 뜬금없는것 같다.
<html> <head> <title>Challenge 16</title> <body bgcolor=black onload=kk(1,1) onkeypress=mv(event.keyCode)> <font color=silver id=c></font> <font color=yellow size=100 style=position:relative id=star>*</font> <script> document.body.innerHTML+="<font color=yellow id=aa style=position:relative;left:0;top:0>*</font>"; function mv(cd) { kk(star.style.posLeft-50,star.style.posTop-50); if(cd==100) star.style.posLeft=star.style.posLeft+50; if(cd==97) star.style.posLeft=star.style.posLeft-50; if(cd==119) star.style.posTop=star.style.posTop-50; if(cd==115) star.style.posTop=star.style.posTop+50; if(cd==124) location.href=String.fromCharCode(cd); } function kk(x,y) { rndc=Math.floor(Math.random()*9000000); document.body.innerHTML+="<font color=#"+rndc+" id=aa style=position:relative;left:"+x+";top:"+y+" onmouseover=this.innerHTML=''>*</font>"; } </script> </body> </html>
소스를 대강 보자.
body에 event가 걸려있다.
로드되면 kk(1,1)를 부르는데 kk는 9000000중 랜덤으로 하나를 뽑고 floor한다. 그러니까 즉 랜덤한 색을 고르는것이다. 인자로 받는 x,y는 좌표!
그리고 onkeypress에 뭘받던간에 mv를 콜하는데 별을 막 만들어낸다. 심심해서 좀 누르고 있어봤는데 좀 볼만하다. webhacking.kr에서 가장 예쁜 비주얼이 아닌가 싶다.
그리고 특이한게 마우스를 올리면 사라지게 되있다.
별? 꽃 구경은 그만하고. mv에 보면 location.href가 보인다. 저게 아마 최종골이려나 싶다.
body에서 onkeypress로 받는 event.KeyCode를 알아야 할 필요가 있다. 124는 무엇인가?
바로 or에 쓰는 | 라고 한다. 누른다. 해결된다.
이 문제는 IE에서 해야 정상작동이 된다 ㅡㅡ