<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Leeyunhan &#187; script</title>
	<atom:link href="http://leeyunhan.com/archives/category/script/feed" rel="self" type="application/rss+xml" />
	<link>http://leeyunhan.com</link>
	<description>Web Publisher</description>
	<lastBuildDate>Tue, 31 Aug 2010 02:21:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>JS천하통일 이야기</title>
		<link>http://leeyunhan.com/archives/354</link>
		<comments>http://leeyunhan.com/archives/354#comments</comments>
		<pubDate>Thu, 08 Oct 2009 01:12:50 +0000</pubDate>
		<dc:creator>leeyunhan</dc:creator>
				<category><![CDATA[script]]></category>
		<category><![CDATA[일상적인 이야기]]></category>

		<guid isPermaLink="false">http://leeyunhan.com/?p=354</guid>
		<description><![CDATA[case1. &#8220;제가 아무리 막아보았지만 그토록 빠른 이동을 하는 술수는 처음 보았습니다. 결국 전혀 맞설수 없었지요&#8221; 무투파의 수장인 기인은 그 소릴 듣고 말했다. &#8220;마치&#8230; 발이 땅에서 떨어지지 않고 움직이는 그러한 보법말이더냐?&#8221; &#8220;네 맞습니다. 순식간에 저와 거리가 없어지는듯 하다가도 어느새 저편으로 가 있었지요&#8221; 수장은 말했다. &#8220;그건 어느 유파의 라이브러리를 사용하는거 같구나. 아마도 애니메이트 초식이었을게다&#8221; 작고 상처투성이인 청년은 [...]]]></description>
			<content:encoded><![CDATA[<p>case1.<br />
&#8220;제가 아무리 막아보았지만 그토록 빠른 이동을 하는 술수는 처음 보았습니다. 결국 전혀 맞설수 없었지요&#8221;<br />
무투파의 수장인 기인은 그 소릴 듣고 말했다.<br />
&#8220;마치&#8230; 발이 땅에서 떨어지지 않고 움직이는 그러한 보법말이더냐?&#8221;<br />
&#8220;네 맞습니다. 순식간에 저와 거리가 없어지는듯 하다가도 어느새 저편으로 가 있었지요&#8221;<br />
수장은 말했다.<br />
&#8220;그건 어느 유파의 라이브러리를 사용하는거 같구나. 아마도 애니메이트 초식이었을게다&#8221;<br />
작고 상처투성이인 청년은 다급히 물었다.<br />
&#8220;저도 그런 기술을 쓸수 있을까요?&#8221;<br />
잠시 생각에 잠긴 기인은 자신의 후계를 위해 이 청년을 수하로 들이기로 결정했다.<br />
&#8220;너의 실력은 아직 원시코드로 간단한 함수를 호출할 정도일 터. 조금 내공(코어)을 끌어올린 다음 내가 알려주는 라이브러리를 익힐수 있도록 도와주마&#8221;</p>
<p>case2.<br />
&#8220;들었는가? 자네. 네통에서는 얼마전부터 각 문하생들마다 더미아이디를 하나 더 생성하게 해주는 서비르를 시행하고 있다네&#8221;<br />
&#8220;물론이지.. 꽤 되었다 하더군&#8221;<br />
&#8220;내가 아는 친구는 그걸 이용해서 자신의 흔적을 남기지 않는다 하더구만&#8221;<br />
&#8220;아니&#8230; 네통은 문파에 들아갈때 반드시 등록되지 않나?&#8221;<br />
&#8220;그렇지&#8230; 내가 아는 그 친구는 바로 그 부계정으로 문파에 등록해 사용하다가 문파에서 비전을 수급 한 뒤에는 부계정을 바로 삭제한다고 하네. 본계정을 애초부터 숨기고 있던거지..&#8221;<br />
&#8220;허.. 어찌 그런 생각을&#8230;&#8221;<br />
&#8220;하기사 이젠 네통으로 각 문파의 문하생들이 자신의 라이브러리 비급을 전달하는건 일도 아니니 그다지 나무랄 일도 아닌거 같네&#8221;</p>
<p>case3.<br />
&#8216;존&#8217; 대사부가 세운 제이코리파에서는 작은 소동이 일어났다.<br />
&#8220;어찌 하여 새로운 라이브러리를 개발하고 있느냐?&#8221; 현철 사범이 가인에게 물었다.<br />
&#8220;&#8230; 저희 라이브러리가 너무 편해서.. 내공정진을 함께 하기가 어렵습니다&#8221;<br />
&#8220;무슨말이냐&#8221;<br />
&#8220;쉬운 메소드와 애드온이 많기에 더욱 그러한것이 아닌가 합니다. 속하 제자가 좀더 내공을 연마코자 그런것이니 너그러이 용서해 주십시오&#8221;<br />
가인은 대답하면서 자신이 적어놓은 라이브러리를 보여주었고 현철사범은 그 라이브러리를 펼쳐 천천히 읽어내려갔다.<br />
&#8220;흠.. 어느때고 간에 mouseleave이벤트를 사용하도록 하고 있느냐?&#8221;<br />
&#8220;네&#8230;&#8221;<br />
&#8220;좋다, 물론 존사부님의 비급을 수급하기도 좋지만 너 자신의 라이브러리를 만드는것도 좋겠지. 정진하도록 하여라&#8221;</p>
<p>case4.<br />
기롼이란 청년은 의기양양해져서 문파로 돌아왔다.<br />
&#8220;헤헤 그 거지같은 녀석을 혼내줘서 속이 다 시원하네 흐흐&#8221;<br />
같은방 소속인 문하생들에게 자랑하던 중, 결국 어플리케이션 제2사부인 동숙사범에게 자초지종을 들키게 되었다.<br />
&#8220;이놈! 어디서 문파의 기술을 쓰고 다니라 했더냐. 너는 아직 그 정도 실력이 아니다!&#8221;<br />
프로토파의 사범인 동숙사범이 기롼이를 꾸짖었다.<br />
&#8220;우리같은 대 방파에서 괜한 사람을 핍박했다는 소리가 들리면 어쩌려고 그러느냐! 이 일은 &#8216;샘&#8217; 노사께 이를터이니 넌 스터디방에서 자숙하고 있거라!&#8221;<br />
기롼이는 풀이 죽어서 스터디방으로 향했고 프로토파의 비전을 펼쳐 그중에서 getElementsByClassName확장에 대해를 읽어내려갔다.<br />
&#8216;쳇.. 사범님은 구닥다리야. 어차피 이런 메소드도 조금만 지나면 굳이 라이브러리를 호출하지 않아도 될텐데..&#8217;</p>
<p>case5.<br />
규영과 을순은 서남지역으로 이동하던중 희안한 광경을 목격했다.<br />
한 무리의 인력들이 한 남자를 둘러싸고 시비를 걸고 있었는데, 가운데 남자는 의연한 태도를 유지하고 있었다.<br />
어느새인가 싸움이 벌어졌고 순식간에 한 남자만이 서 있었으며 불량배들은 모두 나가떨어져 있었다.<br />
규영이 물었다.<br />
&#8220;아니..보셨나요? 방금 저 남자가 사용한게 뭔지..&#8221;<br />
을순이 대답했다.<br />
&#8220;자신을 복제함과 동시에 팔괘에서 나타나게끔하여 마치 3차원의 요소처럼 공격하는것 말이냐&#8221;<br />
&#8220;네 전 어떤일이 일어났는지도 잘 모르겠습니다&#8221;<br />
을순은 조용히 말을 이었다.<br />
&#8220;저건 마치 벼락이 지나간 뒤에나 알수 있다는 뜻으로 후뢰시(後雷始) 라는 이름을 가진 기술이지.<br />
서역에서 들어온 기술로서 라이브러리와는 전혀 다른 언어로 만들어진단다.<br />
플렉스라는 파는 그 정점에서 아직도 끊임없는 기술을 개발하고 있다고 들었다.&#8221;<br />
규영의 부러워 하는 눈을 보고 을순은 덧붙였다.<br />
&#8220;하지만 아무나 쓸수 없는 기술이기도 하지.. 모든곳에서 동등하게 사용하기도 어렵거니와 가장 중요한건 아도브산하에 속한자만이 허락받아 사용한단다. 여튼 우리와 같은 길을 걷고 있는것만은 틀림없지&#8221;</p>
<p>그때 저 멀리서 같은 광경을 보고 있던 한 노승이 눈에 띄였으나 순식간에 보이지 않게 되었다.<br />
을순은 그를 놓지지 않으면서 속으로 뇌아렸다.<br />
&#8216;&#8230; 더글러스 크록포드경이 나타나다니&#8230; 큰 한파가 한번 몰아닥치겠구나&#8230;&#8217;</p>
]]></content:encoded>
			<wfw:commentRss>http://leeyunhan.com/archives/354/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>input type file에 style입히기</title>
		<link>http://leeyunhan.com/archives/329</link>
		<comments>http://leeyunhan.com/archives/329#comments</comments>
		<pubDate>Fri, 14 Aug 2009 06:30:29 +0000</pubDate>
		<dc:creator>leeyunhan</dc:creator>
				<category><![CDATA[html/css]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://leeyunhan.com/?p=329</guid>
		<description><![CDATA[input type file에 style입히기 javascript function initFileUploads(classname,position,size,fakewidth) { if (!W3CDOM) return; var fakeFileUpload = document.createElement('div'); fakeFileUpload.className = 'fakefile'; fakeFileUpload.style.width = 100 + &#34;%&#34;; fakeFileUpload.style.textAlign = position; fakeFileUpload.appendChild(document.createElement('input')); var image = document.createElement('img'); image.src='filesearch.gif'; image.style.verticalAlign = 'middle'; fakeFileUpload.appendChild(image); var x = document.getElementsByTagName('input'); for (var i=0;i&#60;x.length;i++) { if (x[i].type != 'file') continue; if (x[i].className != classname) continue; if [...]]]></description>
			<content:encoded><![CDATA[<p><strong>input type file에 style입히기</strong></p>
<p>javascript</p>
<pre class="brush: jscript;">
function initFileUploads(classname,position,size,fakewidth) {
	if (!W3CDOM) return;
	var fakeFileUpload = document.createElement('div');
	fakeFileUpload.className = 'fakefile';
	fakeFileUpload.style.width = 100 + &quot;%&quot;;
	fakeFileUpload.style.textAlign = position;
	fakeFileUpload.appendChild(document.createElement('input'));
	var image = document.createElement('img');
	image.src='filesearch.gif';
	image.style.verticalAlign = 'middle';
	fakeFileUpload.appendChild(image);
	var x = document.getElementsByTagName('input');
	for (var i=0;i&lt;x.length;i++) {
		if (x[i].type != 'file') continue;
		if (x[i].className != classname) continue;
		if (x[i].parentNode.className != 'fileinputs') continue;
		x[i].className = 'file hidden';
		var clone = fakeFileUpload.cloneNode(true);
		x[i].parentNode.appendChild(clone);
		x[i].setAttribute('size',size);
		x[i].relatedElement = clone.getElementsByTagName('input')[0];
		x[i].relatedElement.className = 'fakeinput';
		x[i].relatedElement.style.width = fakewidth + 'px';
		x[i].onchange = x[i].onmouseout = function () {
			this.relatedElement.value = this.value;
		}
		x[i].parentNode.style.textAlign = position;
	}
}
</pre>
<p>html</p>
<pre class="brush: xml;">
&lt;div class=&quot;wrap&quot;&gt;
	&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;
		&lt;div class=&quot;fileinputs&quot;&gt;
			&lt;input type=&quot;file&quot; class=&quot;file&quot; /&gt;
		&lt;/div&gt;
		&lt;script type=&quot;text/javascript&quot;&gt;initFileUploads('file','center',40,310);&lt;/script&gt;
		&lt;div class=&quot;code&quot;&gt;
			&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;initFileUploads('file','center',40,310);&amp;lt;/script&amp;gt;
		&lt;/div&gt;

		&lt;div class=&quot;fileinputs&quot;&gt;
			&lt;input type=&quot;file&quot; class=&quot;file2&quot; /&gt;
		&lt;/div&gt;
		&lt;script type=&quot;text/javascript&quot;&gt;initFileUploads('file2','left',60,390);&lt;/script&gt;
		&lt;div class=&quot;code&quot;&gt;
			&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;initFileUploads('file2','left',60,390);&amp;lt;/script&amp;gt;
		&lt;/div&gt;
	&lt;/form&gt;
&lt;/div&gt;
</pre>
<ul>
<li>*사이트내에서 파일업로드 필드의 가로값이 두개 이상일경우, 각각 클래스로 사이즈를 제어하도록 함</li>
<li>*실제 input과 가상 input의 사이즈를 비교하기위해 opacity값을 조절해서 비교하면 쉽습니다.</li>
</ul>
<ol>
<li>디자인 입힐 input type=&#8221;file&#8221;에 특정 클래스 지정 (예제에서는 class=&#8221;file&#8221;)</li>
<li>해당 input을 div class=&#8221;fileinputs&#8221; 으로 감쌈</li>
<li>스크립트 호출- initFileUploads(classname,size,fakewidth) </li>
<li>classname : 지정한 클래스 이름</li>
<li>position: 정렬 (left, center, right 사용)</li>
<li>size : 실제 input 사이즈 지정</li>
<li>fakewidth : 가상으로 보일 input 박스의 width값</li>
</ol>
<p><a href="/00_library/10_input/file_upload.html" target="_blank">미리보기</a></p>
]]></content:encoded>
			<wfw:commentRss>http://leeyunhan.com/archives/329/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GNB</title>
		<link>http://leeyunhan.com/archives/325</link>
		<comments>http://leeyunhan.com/archives/325#comments</comments>
		<pubDate>Fri, 14 Aug 2009 06:23:24 +0000</pubDate>
		<dc:creator>leeyunhan</dc:creator>
				<category><![CDATA[html/css]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://leeyunhan.com/?p=325</guid>
		<description><![CDATA[기본적인 글로벌 네비게이션 javascript var _d = document; function getClass(classname, tagname, tarID) {} function addClass(element,value) {} function removeClass(element,value) {} var gnbNavi = function(gnbID, currentNum, subCurrentNum, noscript){ var wrapper = _d.getElementById(gnbID); if (noscript) removeClass(wrapper,noscript); // 스크립트가 로딩되면 wrapper의 class중 'noscript'를 삭제합니다. var menu = getClass('depth1','li',wrapper); var menuLink = []; // 이벤트를 발생시킬 대메뉴의 a들 var submenu [...]]]></description>
			<content:encoded><![CDATA[<p><strong>기본적인 글로벌 네비게이션</strong></p>
<p>javascript</p>
<pre class="brush: jscript;">
var _d = document;
function getClass(classname, tagname, tarID) {}
function addClass(element,value) {}
function removeClass(element,value) {}

var gnbNavi = function(gnbID, currentNum, subCurrentNum, noscript){
	var wrapper = _d.getElementById(gnbID);
	if (noscript) removeClass(wrapper,noscript);	// 스크립트가 로딩되면 wrapper의 class중 'noscript'를 삭제합니다.

	var menu = getClass('depth1','li',wrapper);
	var menuLink = [];			// 이벤트를 발생시킬 대메뉴의 a들
	var submenu = [];			// 대메뉴의 하위에 위치한 ul들
	var submenuLink = [];		// 서브메뉴의 a들

	var initialize = function(){
		for (var i=0; i&lt;menu.length; i++){
			menuLink[i] = menu[i].getElementsByTagName('a')[0];
			submenu[i] = menu[i].getElementsByTagName('ul')[0];
			if(submenu[i] == undefined){
				submenu[i] = null;
			}
			if(submenu[i]) submenu[i].style.visibility = 'hidden';	// 서브메뉴 'hidden'초기화

			showSubmenu(i);											// 마우스 이벤트에 서브메뉴 show / hide
		}
		if (currentNum) menuLink[currentNum-1].onmouseover();		// 대메뉴 활성화
	};
	var showSubmenu = function(num){
		menuLink[num].onmouseover = menuLink[num].onfocus = function(){
			for(var i=0; i&lt;menu.length; i++){
				var imgEl = menuLink[i].getElementsByTagName('img')[0];
				if(i == num){
					if (menu[i].className.indexOf('visible') == -1) addClass(menu[i],'visible');		// 활성화 된 메뉴에 class추가
					if (imgEl &amp;&amp; imgEl.src.indexOf('_on.gif') == -1) imgEl.src = imgEl.src.replace('.gif', '_on.gif');	// 대메뉴 이미지 오버
					if(submenu[i]) {
						submenu[i].style.visibility = 'visible';
						subImgOver(i);								// 보여지는 서브메뉴의 메뉴들에게 이벤트를 지정
					}
				} else {
					removeClass(menu[i],'visible');
					if (imgEl) imgEl.src = imgEl.src.replace('_on.gif', '.gif');
					if(submenu[i]) {
						submenu[i].style.visibility = 'hidden';
					}
				}
			}
		}
	};
	var subImgOver = function(num){
		submenuLink = submenu[num].getElementsByTagName('a');
		for(var i=0; i&lt;submenuLink.length; i++){
			submenuLink[i].onmouseover = function(){
				var imgEl = this.getElementsByTagName('img')[0];
				if (this.className.indexOf('on') == -1) addClass(this,' on');
				if (imgEl &amp;&amp; imgEl.src.indexOf('_on.gif') == -1) imgEl.src = imgEl.src.replace('.gif', '_on.gif');
			}
			submenuLink[i].onmouseout = function(){
				var imgEl = this.getElementsByTagName('img')[0];
				removeClass(this,'on');
				if (imgEl) imgEl.src = imgEl.src.replace('_on.gif', '.gif');
			}
			if (subCurrentNum &amp;&amp; num == (currentNum - 1)) {				// 서브메뉴 활성화가 지정된 경우 &amp;&amp; 현재 보여지는 서브메뉴가 활성화된 대메뉴 일 경우
				var subCurrentMenu = submenuLink[subCurrentNum - 1];
				if(!subCurrentMenu) return;
				var subCurrentImage = subCurrentMenu.getElementsByTagName('img')[0];
				if(subCurrentMenu.className.indexOf('on') == -1) addClass(subCurrentMenu,' on');
				if (subCurrentImage &amp;&amp; subCurrentImage.src.indexOf('_on.gif') == -1) subCurrentImage.src = subCurrentImage.src.replace('.gif', '_on.gif');
				subCurrentMenu.onmouseout = function(){
					return false;
				}
			}
		}
	}
	initialize();
}
</pre>
<p>hml</p>
<pre class="brush: xml;">
&lt;div id=&quot;gnbmenu&quot; class=&quot;noscript&quot;&gt;
	&lt;ul&gt;
		&lt;li class=&quot;depth1&quot;&gt;
			&lt;a href=&quot;#&quot;&gt;menu01&lt;/a&gt;
			&lt;ul class=&quot;depth2&quot;&gt;&lt;li&gt;&lt;a href=&quot;#&quot;&gt;menu0101&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
		&lt;/li&gt;
		&lt;li class=&quot;depth1&quot;&gt;
			&lt;a href=&quot;#&quot;&gt;menu02&lt;/a&gt;
			&lt;ul class=&quot;depth2&quot;&gt;&lt;li&gt;&lt;a href=&quot;#&quot;&gt;menu0201&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
		&lt;/li&gt;
		&lt;li class=&quot;depth1&quot;&gt;
			&lt;a href=&quot;#&quot;&gt;menu03&lt;/a&gt;
		&lt;/li&gt;
		&lt;li class=&quot;depth1&quot;&gt;
			&lt;a href=&quot;#&quot;&gt;menu04&lt;/a&gt;
			&lt;ul class=&quot;depth2&quot;&gt;
				&lt;li&gt;&lt;a href=&quot;#&quot;&gt;menu0401&lt;/a&gt;&lt;/li&gt;
			&lt;/ul&gt;
		&lt;/li&gt;
		&lt;li class=&quot;depth1&quot;&gt;
			&lt;a href=&quot;#&quot;&gt;menu05&lt;/a&gt;
			&lt;ul class=&quot;depth2&quot;&gt;
				&lt;li&gt;&lt;a href=&quot;#&quot;&gt;menu0501&lt;/a&gt;&lt;/li&gt;
			&lt;/ul&gt;
		&lt;/li&gt;
		&lt;li class=&quot;depth1&quot;&gt;
			&lt;a href=&quot;#&quot;&gt;menu06&lt;/a&gt;
		&lt;/li&gt;
	&lt;/ul&gt;
&lt;/div&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
//&lt;![CDATA[
//	gnbNavi(대메뉴ID명, 대메뉴 활성화, 서브메뉴 활성화, js로딩시 제거할 class명);
	gnbNavi('gnbmenu',1,2,'noscript');
//]]&gt;
&lt;/script&gt;
</pre>
<ul>
<li>활성화 된 대메뉴에 &#8216;visible&#8217; class 추가</li>
<li>대메뉴, 서브메뉴에 이미지인 경우 &#8220;~.gif&#8221;, &#8220;~on.gif&#8221;로 이미지 변환</li>
<li>활성화 된 대메뉴, 서브메뉴 지원 (currentNum, subCurrentNum)</li>
<li>getClass(), addClass(), removeClass(); 함수 사용</li>
<li>서브메뉴 각각의 위치는 css등 이용 권장</li>
<li>js로딩시 gnbID의 class값 제거 : js없을경우 별도의 디자인 view 가능</li>
</ul>
<p><a href="/00_library/15_gnb/gnb2.html" target="_blank">미리보기</a></p>
]]></content:encoded>
			<wfw:commentRss>http://leeyunhan.com/archives/325/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>select box처럼 보이는 radio목록</title>
		<link>http://leeyunhan.com/archives/321</link>
		<comments>http://leeyunhan.com/archives/321#comments</comments>
		<pubDate>Fri, 14 Aug 2009 06:06:19 +0000</pubDate>
		<dc:creator>leeyunhan</dc:creator>
				<category><![CDATA[html/css]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://leeyunhan.com/?p=321</guid>
		<description><![CDATA[검색 옵션처럼 select를 사용할 곳에 디자인이 입혀진 경우 마크업을 라디오 버튼으로 대체하여 작성한 예 javascript function getClass(classname, tagname, tarID) {} // 라이브러리 참조 function addEvent( obj, type, fn ) {} // 라이브러리 참조 function removeEvent( obj, type, fn ) {} // 라이브러리 참조 function stopBubble(e){} // 라이브러리 참조 function selectMore(wrapper){ var _d = document; var [...]]]></description>
			<content:encoded><![CDATA[<p>검색 옵션처럼 select를 사용할 곳에 디자인이 입혀진 경우 마크업을 라디오 버튼으로 대체하여 작성한 예</p>
<p>javascript</p>
<pre class="brush: jscript;">
function getClass(classname, tagname, tarID) {}	// 라이브러리 참조
function addEvent( obj, type, fn ) {}	// 라이브러리 참조
function removeEvent( obj, type, fn ) {}	// 라이브러리 참조
function stopBubble(e){}	// 라이브러리 참조

function selectMore(wrapper){
	var _d = document;
	var wrapper = _d.getElementById(wrapper);				// 링크박스
	var pointer = getClass('title','span',wrapper)[0];		// 타이틀
	var linkBox = getClass('linkbox','div',wrapper)[0];		// 목록
	var linkBoxList = linkBox.getElementsByTagName('label');	// 목록의 모든 라벨
	//	linkBox.style.display = 'none';		// 목록 숨김 초기화는 css로 지정함 : js제거시엔 작동 안함.

	function hideLinks(){			// 목록을 숨기는 함수
		if (linkBox.style.display == ''){
			linkBox.style.display = 'none';
		}
	}

	function toggleLinks(e){		// 목록 토글 함수
		if (linkBox.style.display == 'none'){
			linkBox.style.display = '';
			stopBubble(e);
			addEvent(document,'click',hideLinks);
		} else {
			linkBox.style.display = 'none';
			stopBubble(e);
			removeEvent(document,'click',hideLinks);
		}
		return false;
	}

	for (var i=0; i&lt;linkBoxList.length; i++){
		linkBoxList[i].onclick = function(){
			pointer.childNodes[0].nodeValue = this.childNodes[0].nodeValue;		// 옵션 선택시 타이틀 value값 교체
			hideLinks();														// 선택시 목록 숨김
		}
		linkBoxList[linkBoxList.length-1].onblur = hideLinks;		// 링크목록의 마지막 링크에서 벗어나면 링크목록 숨김.
	}

	pointer.onclick = toggleLinks;			// 타이틀을 클릭 or 포커스 시 링크목록을 보이게 한다.
}
</pre>
<p>html</p>
<pre class="brush: xml;">
&lt;div class=&quot;select_box&quot; id=&quot;selectBox&quot;&gt;&lt;!-- id는 단순한 hook --&gt;
	&lt;span class=&quot;title&quot;&gt;통합검색&lt;/span&gt;
	&lt;div class=&quot;linkbox&quot; style=&quot;display:none;&quot;&gt;&lt;!-- css로 기본 숨김 --&gt;
		&lt;ul&gt;
			&lt;li&gt;&lt;input type=&quot;radio&quot; id=&quot;s_tot&quot; name=&quot;test&quot; /&gt; &lt;label for=&quot;s_tot&quot;&gt;통합검색&lt;/label&gt;&lt;/li&gt;
			&lt;li&gt;&lt;input type=&quot;radio&quot; id=&quot;s_peo&quot; name=&quot;test&quot; /&gt; &lt;label for=&quot;s_peo&quot;&gt;직원&lt;/label&gt;&lt;/li&gt;
			&lt;li&gt;&lt;input type=&quot;radio&quot; id=&quot;s_sub&quot; name=&quot;test&quot; /&gt; &lt;label for=&quot;s_sub&quot;&gt;업무&lt;/label&gt;&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/div&gt;
	&lt;input type=&quot;text&quot; /&gt;
	&lt;input type=&quot;button&quot; class=&quot;button&quot; value=&quot;검색&quot; /&gt;
&lt;/div&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
//&lt;![CDATA[
	selectMore('selectBox');
//]]&gt;
&lt;/script&gt;
</pre>
<p><a href="/00_library/07_link_more/select_more.html" target="_blank">미리보기</a></p>
]]></content:encoded>
			<wfw:commentRss>http://leeyunhan.com/archives/321/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>family site처럼 바로가기 링크</title>
		<link>http://leeyunhan.com/archives/313</link>
		<comments>http://leeyunhan.com/archives/313#comments</comments>
		<pubDate>Fri, 14 Aug 2009 05:51:57 +0000</pubDate>
		<dc:creator>leeyunhan</dc:creator>
				<category><![CDATA[html/css]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://leeyunhan.com/?p=313</guid>
		<description><![CDATA[셀렉트 박스 디자인의 단순 링크 목록 펼침/숨김 javascript function getClass(classname, tagname, tarID) {} // 라이브러리 참조 function addEvent( obj, type, fn ) {} // 라이브러리 참조 function removeEvent( obj, type, fn ) {} // 라이브러리 참조 function stopBubble(e){} // 라이브러리 참조 function linksMore(wrapper){ var _d = document; var wrapper = _d.getElementById(wrapper); // 링크박스 var pointer [...]]]></description>
			<content:encoded><![CDATA[<p><strong>셀렉트 박스 디자인의 단순 링크 목록 펼침/숨김</strong></p>
<p><strong>javascript</strong></p>
<pre class="brush: jscript;">
function getClass(classname, tagname, tarID) {}	// 라이브러리 참조
function addEvent( obj, type, fn ) {}			// 라이브러리 참조
function removeEvent( obj, type, fn ) {}			// 라이브러리 참조
function stopBubble(e){}					// 라이브러리 참조

function linksMore(wrapper){
	var _d = document;
	var wrapper = _d.getElementById(wrapper);		// 링크박스
	var pointer = getClass('title','a',wrapper)[0];			// 타이틀
	var linkBox = wrapper.getElementsByTagName('ul')[0];	// 링크목록
	var linkBoxList = linkBox.getElementsByTagName('a');	// 링크목록의 모든 링크
	linkBox.style.display = 'none';		//링크목록 숨김 초기화

	function hideLinks(){			// 링크목록을 숨기는 함수
		if (linkBox.style.display == ''){
			linkBox.style.display = 'none';
		}
	}

	function toggleLinks(e){		// 링크목록 토글 함수
		if (linkBox.style.display == 'none'){
			linkBox.style.display = '';
			stopBubble(e);
			addEvent(document,'click',hideLinks);
		} else {
			linkBox.style.display = 'none';
			stopBubble(e);
			removeEvent(document,'click',hideLinks);
		}
		return false;
	}

	for (var i=0; i&lt;linkBoxList.length; i++){		// 링크목록의 마지막 링크에서 벗어나면 링크목록 숨김.
		linkBoxList[linkBoxList.length-1].onblur = hideLinks;
	}

	pointer.onclick = toggleLinks;			// 타이틀을 클릭 or 포커스 시 링크목록을 보이게 한다.

	wrapper.onclick = function(e){			// 링크박스 영역을 클릭해도 링크목록이 사라지지 않게 한다.
		stopBubble(e);
	}
}
</pre>
<p><strong>html</strong></p>
<pre class="brush: xml;">
&lt;div id=&quot;selectBox&quot;&gt;
	&lt;a href=&quot;#&quot; class=&quot;title&quot;&gt;links more...&lt;/a&gt;
	&lt;ul class=&quot;linkbox&quot; id=&quot;linkbox1&quot;&gt;
		&lt;li&gt;&lt;a href=&quot;#&quot;&gt;link1&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;#&quot;&gt;link2&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;#&quot;&gt;link3&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&quot;selectBox2&quot;&gt;
	&lt;a href=&quot;#linkbox2&quot; class=&quot;title&quot;&gt;links more...&lt;/a&gt;
	&lt;ul class=&quot;linkbox&quot; id=&quot;linkbox2&quot;&gt;
		&lt;li&gt;&lt;a href=&quot;#&quot;&gt;link1&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;#&quot;&gt;link2&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;#&quot;&gt;link3&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
&lt;/div&gt;

&lt;script type=&quot;text/javascript&quot;&gt;
//&lt;![CDATA[
	linksMore('selectBox');
	linksMore('selectBox2');
//]]&gt;
&lt;/script&gt;
</pre>
<p>id를 가진 wrapper안에서 class=&#8221;title&#8221; 클릭시 wrapper안의 첫번째 ul을 보여줌.</p>
<p><strong>프로세스</strong></p>
<ol>
<li>펼침 메뉴(링크목록)은 기본적으로 숨김 처리.</li>
<li>링크(타이틀) 클릭시 펼침메뉴 보이고 숨김 토글 함수 실행</li>
<li>링크목록의 마지막 링크에서 포커스 아웃(블러)시 링크목록 숨김</li>
<li>링크목록이 보이는 상태라면 링크목록 바깥쪽(document)클릭시 링크목록 숨김 처리</li>
<li>링크목록 영역은 클릭해도 사라지지 않음.</li>
</ol>
<p><strong>사용한 함수</strong></p>
<ol>
<li>토글함수 &#8211; toggleLinks(e)</li>
<li>목록숨김함수 &#8211; hideLinks()</li>
<li>class선택자 함수 &#8211; getClass(classname, tagname, tarID) (</li>
<li>이벤트리스터추가 함수 &#8211; addEvent( obj, type, fn )</li>
<li>이벤트리스터제거 함수 &#8211; removeEvent( obj, type, fn )</li>
<li>이벤트 버블 멈춤 함수 &#8211; stopBubble(e)</li>
</ol>
<p><a href="/00_library/07_link_more/link_more.html" target="_blank">미리보기</a></p>
]]></content:encoded>
			<wfw:commentRss>http://leeyunhan.com/archives/313/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>select박스 덮기 (for IE6)</title>
		<link>http://leeyunhan.com/archives/308</link>
		<comments>http://leeyunhan.com/archives/308#comments</comments>
		<pubDate>Fri, 14 Aug 2009 05:44:25 +0000</pubDate>
		<dc:creator>leeyunhan</dc:creator>
				<category><![CDATA[html/css]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://leeyunhan.com/?p=308</guid>
		<description><![CDATA[IE6에서 셀렉트박스가 z-index에 무관하게 최상위로 보이는 현상 &#60;!--[if lte IE 6.0]&#62; &#60;script type=&#34;text/javascript&#34;&#62; function selectFix(divID) { var tar = document.getElementById(divID); var tarWidth = tar.offsetWidth; var tarHeight = tar.offsetHeight; var tarTop = tar.offsetTop; var tarLeft = tar.offsetLeft; var coverID = divID + &#34;_cover&#34;; if (document.getElementById(coverID)) return false; var cover = document.createElement(&#34;iframe&#34;); tar.parentNode.insertBefore(cover,tar); cover.setAttribute(&#34;id&#34;,coverID); if (!document.getElementById(coverID)) return [...]]]></description>
			<content:encoded><![CDATA[<p><strong>IE6에서 셀렉트박스가 z-index에 무관하게 최상위로 보이는 현상</strong></p>
<pre class="brush: jscript;">
&lt;!--[if lte IE 6.0]&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
function selectFix(divID) {
	var tar = document.getElementById(divID);
	var tarWidth = tar.offsetWidth;
	var tarHeight = tar.offsetHeight;
	var tarTop = tar.offsetTop;
	var tarLeft = tar.offsetLeft;

	var coverID = divID + &quot;_cover&quot;;

	if (document.getElementById(coverID)) return false;

	var cover = document.createElement(&quot;iframe&quot;);
	tar.parentNode.insertBefore(cover,tar);
	cover.setAttribute(&quot;id&quot;,coverID);

	if (!document.getElementById(coverID)) return false;
	var obj = document.getElementById(coverID);
	obj.setAttribute(&quot;frameborder&quot;,0);
	obj.style.position = &quot;absolute&quot;;
	obj.style.top = tarTop + &quot;px&quot;;
	obj.style.left = tarLeft + &quot;px&quot;;
	obj.style.width = tarWidth + &quot;px&quot;;
	obj.style.height = tarHeight + &quot;px&quot;;
}
function removeSelectFix(divID) {
	var tar = document.getElementById(divID);
	var obj = document.getElementById(divID + &quot;_cover&quot;);
	if (!obj) return false;
	tar.parentNode.removeChild(obj);
}
&lt;/script&gt;
&lt;![endif]--&gt;
</pre>
<p>조건부 주석으로 IE6에서만 적용되도록 감쌌음.</p>
<p>아래의 사용법</p>
<pre class="brush: jscript;">
&lt;script type=&quot;text/javascript&quot;&gt;
function showPopup() {
	document.getElementById(&quot;popup&quot;).style.display = &quot;&quot;;
	try{
		if(selectFix) {
			selectFix(&quot;popup&quot;);
		}
	}catch(aa){}

}
function hidePopup() {
	document.getElementById(&quot;popup&quot;).style.display = &quot;none&quot;;
	try{
		if(removeSelectFix) {
			removeSelectFix(&quot;popup&quot;);
		}
	}catch(aa){}
}
&lt;/script&gt;
</pre>
<p>레이어등이 보이는경우 &#8211; showPopup();에 selectFix(layerID)를 추가해 주고,<br />
레이어를 없앨경우 &#8211; hidePopup(); 에 removeSelectFix(layerID)를 추가함.</p>
<ul>
<li>select를 단순 박스형태로 덮는경우에 사용 가능</li>
<li>동적으로 움직이는 레이어나 box형태가 아닌 레이어에 대해 iframe의 한계가 있음.</li>
<li>투명한 플래쉬일 경우 역시 iframe의 한계가 있음.</li>
</ul>
<p><a href="/00_library/06_selectfix/selectfix.html" target="_blank">미리보기</a></p>
]]></content:encoded>
			<wfw:commentRss>http://leeyunhan.com/archives/308/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tab menu</title>
		<link>http://leeyunhan.com/archives/300</link>
		<comments>http://leeyunhan.com/archives/300#comments</comments>
		<pubDate>Fri, 14 Aug 2009 04:58:22 +0000</pubDate>
		<dc:creator>leeyunhan</dc:creator>
				<category><![CDATA[html/css]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://leeyunhan.com/?p=300</guid>
		<description><![CDATA[Tab메뉴 javascript function tabMenu(id,currentNum) { var objAnchor = [], objLink = []; var ID = document.getElementById(id); var objLI = ID.getElementsByTagName('li'); var initialize = function() { for (var i=0; i&#60;objLI.length; i++) { objLink[i] = objLI[i].getElementsByTagName('a')[0]; objAnchor[i] = document.getElementById(objLink[i].getAttribute('href').split('#')[1]); if (i != 0) objAnchor[i].className += ' hidden'; else objLink[i].parentNode.className += ' visible'; objEvent(i); } if (currentNum) objLink[currentNum-1].onclick(); [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Tab메뉴</strong></p>
<p>javascript</p>
<pre class="brush: jscript;">
function tabMenu(id,currentNum) {
	var objAnchor = [], objLink = [];
	var ID = document.getElementById(id);
	var objLI = ID.getElementsByTagName('li');

	var initialize = function() {
		for (var i=0; i&lt;objLI.length; i++) {
			objLink[i] = objLI[i].getElementsByTagName('a')[0];
			objAnchor[i] = document.getElementById(objLink[i].getAttribute('href').split('#')[1]);

			if (i != 0)
				objAnchor[i].className += ' hidden';
			else
				objLink[i].parentNode.className += ' visible';

			objEvent(i);
		}
		if (currentNum) objLink[currentNum-1].onclick();
	};

	var objEvent = function(num) {
		objLink[num].onclick = function() {
			for (var i=0; i&lt;objLI.length; i++) {
				var imgEl = objLink[i].getElementsByTagName('img')[0]
				if (i == num) {
					if (imgEl) imgEl.src = imgEl.src.replace('.gif', '_on.gif');
					if (objLink[i].parentNode.className.indexOf('visible') == -1)
						objLink[i].parentNode.className += ' visible';
					objAnchor[i].className = objAnchor[i].className.replace('hidden', '');
				} else {
					if (imgEl) imgEl.src = imgEl.src.replace('_on.gif', '.gif');
					objLink[i].parentNode.className = objLink[i].parentNode.className.replace('visible', '');
					if (objAnchor[i].className.indexOf('hidden') == -1)
						objAnchor[i].className += ' hidden';
				}
			}
			return false;
		}
	};

	initialize();
}
</pre>
<p>html</p>
<pre class="brush: xml;">
&lt;style type=&quot;text/css&quot;&gt;
	.hidden {visibility:hidden;}
	.visible {border:1px solid red;}
&lt;/style&gt;

&lt;div class=&quot;tab_cont&quot;&gt;
	&lt;ul id=&quot;tab_menu&quot;&gt;
		&lt;li&gt;&lt;a href=&quot;#notice1&quot;&gt;notice 1&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;#notice2&quot;&gt;notice 2&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;#notice3&quot;&gt;notice 3&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;div class=&quot;box&quot; id=&quot;notice1&quot;&gt;
		notice 1
	&lt;/div&gt;
	&lt;div class=&quot;box&quot; id=&quot;notice2&quot;&gt;
		notice 2222
	&lt;/div&gt;
	&lt;div class=&quot;box&quot; id=&quot;notice3&quot;&gt;
		notice 3333
	&lt;/div&gt;
&lt;/div&gt;

&lt;script type=&quot;text/javascript&quot;&gt;
//&lt;![CDATA[
	tabMenu('tab_menu',2);
//]]&gt;
&lt;/script&gt;
</pre>
<p>컨테이너 id값과 현재 보여주고 싶은 메뉴를 인수로 갖는다.</p>
<ul>
<li>탭메뉴가 이미지일 경우 &#8220;~.gif&#8221;와 &#8220;~_on.gif&#8221;로 작동됨.</li>
<li>탭메뉴가 이미지에 관계없이 활성화 된 li에 class=&#8221;visible&#8221;로 설정</li>
<li>내용 중 감춰지는 박스의 class=&#8221;hidden&#8221;</li>
<li>스크립트 중 currentNum 은 초기 활성화 시킬 인수.</li>
</ul>
<p>접근성을 향상을 위해 숨겨지는 목록에 대해 display:none에서 visibility를 사용했음.<br />
이경우 position기법이 아닐때는 영역문제가 생김에 주의.</p>
<p><a href="/00_library/04_recent/recent_02.html" target="_blank">미리보기</a></p>
]]></content:encoded>
			<wfw:commentRss>http://leeyunhan.com/archives/300/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>removeClass(element,value)</title>
		<link>http://leeyunhan.com/archives/284</link>
		<comments>http://leeyunhan.com/archives/284#comments</comments>
		<pubDate>Fri, 14 Aug 2009 04:17:58 +0000</pubDate>
		<dc:creator>leeyunhan</dc:creator>
				<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://leeyunhan.com/?p=284</guid>
		<description><![CDATA[removeClass함수 엘리먼트의 class를 제거하는 함수 function removeClass(element,value) { if (element.className == value) { element.className = &#34;&#34;; } else if (element.className.indexOf(value) != -1) { element.className = element.className.replace(value,&#34;&#34;); } } * class가 복수일 때 해당 class만 제거. * addClass와 함께 자주 사용. var divElement = document.getElementById('div_wrap'); removeClass(divElement, 'redBorder'); // 혹은 listElement[i].onclick = function(){ removeClass(this,'redBorder'); }]]></description>
			<content:encoded><![CDATA[<p><strong>removeClass함수</strong><br />
엘리먼트의 class를 제거하는 함수</p>
<pre class="brush: jscript;">
function removeClass(element,value) {
	if (element.className == value) {
		element.className = &quot;&quot;;
	} else if (element.className.indexOf(value) != -1) {
		element.className = element.className.replace(value,&quot;&quot;);
	}
}
</pre>
<p>* class가 복수일 때 해당 class만 제거.<br />
* addClass와 함께 자주 사용.</p>
<pre class="brush: xml;">
var divElement = document.getElementById('div_wrap');
removeClass(divElement, 'redBorder');
// 혹은
listElement[i].onclick = function(){
	removeClass(this,'redBorder');
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://leeyunhan.com/archives/284/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>addClass(element,value)</title>
		<link>http://leeyunhan.com/archives/282</link>
		<comments>http://leeyunhan.com/archives/282#comments</comments>
		<pubDate>Fri, 14 Aug 2009 04:15:12 +0000</pubDate>
		<dc:creator>leeyunhan</dc:creator>
				<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://leeyunhan.com/?p=282</guid>
		<description><![CDATA[addClass함수 엘리먼트에 class를 추가해주는 함수. function addClass(element,value) { if (!element.className) { element.className = value; } else { newClassName = element.className; newClassName += &#34; &#34;; newClassName += value; element.className = newClassName; } } * 기존에 class가 있으면 공백으로 class를 추가해 줌. * removeClass와 함께 자주 사용. var divElement = document.getElementById('div_wrap'); addClass(divElement, 'redBorder'); // 혹은 listElement[i].onclick = [...]]]></description>
			<content:encoded><![CDATA[<p><strong>addClass함수</strong><br />
엘리먼트에 class를 추가해주는 함수.</p>
<pre class="brush: jscript;">
function addClass(element,value) {
	if (!element.className) {
		element.className = value;
	} else {
		newClassName = element.className;
		newClassName += &quot; &quot;;
		newClassName += value;
		element.className = newClassName;
	}
}
</pre>
<p>* 기존에 class가 있으면 공백으로 class를 추가해 줌.<br />
* removeClass와 함께 자주 사용.</p>
<pre class="brush: xml;">
var divElement = document.getElementById('div_wrap');
addClass(divElement, 'redBorder');
// 혹은
listElement[i].onclick = function(){
	addClass(this,'redBorder');
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://leeyunhan.com/archives/282/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>getClass(classname, tagname, tarID)</title>
		<link>http://leeyunhan.com/archives/273</link>
		<comments>http://leeyunhan.com/archives/273#comments</comments>
		<pubDate>Fri, 14 Aug 2009 04:07:20 +0000</pubDate>
		<dc:creator>leeyunhan</dc:creator>
				<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://leeyunhan.com/?p=273</guid>
		<description><![CDATA[getClass 함수 class를 기준으로 문서내에서 원하는 엘리먼트에 대해 반환하는 함수. function getClass(classname, tagname, tarID) { if (tarID == undefined) tarID = document; var element = this.nodeType == 1 ? this : tarID; var elements = [], nodes = tagname ? element.getElementsByTagName(tagname) : element.getElementsByTagName('*'); for(var i=0; i&#60;nodes.length; i++) { var elementClassName = nodes[i].className; if (elementClassName.length &#62; [...]]]></description>
			<content:encoded><![CDATA[<p><strong>getClass 함수</strong><br />
class를 기준으로 문서내에서 원하는 엘리먼트에 대해 반환하는 함수.</p>
<pre class="brush: jscript;">
function getClass(classname, tagname, tarID) {
	if (tarID == undefined) tarID = document;
	var element = this.nodeType == 1 ? this : tarID;
	var elements = [], nodes = tagname ? element.getElementsByTagName(tagname) : element.getElementsByTagName('*');
	for(var i=0; i&lt;nodes.length; i++) {
		var elementClassName = nodes[i].className;
		if (elementClassName.length &gt; 0 &amp;&amp; (elementClassName == arguments[0] || new RegExp(&quot;(^|\\s)&quot; + arguments[0] + &quot;(\\s|$)&quot;).test(elementClassName))) {
			elements.push(nodes[i]);
		}
	}
	return elements;
}
</pre>
<p>전달인자로는 (class명, tag명, 영역)을 가지며 해당 인자가 없을경우 문서 전체 혹은 모든 엘리먼트에서 검색한다.</p>
<p>wrapper = document.getElementById(&#8216;div_wrap&#8217;);<br />
var popElement = getClass(&#8216;popup&#8217;, &#8216;a&#8217;, wrapper);<br />
결과는 popElement에 id가 div_wrap인 div영역 안의 a태그 중 class가 popup인 요소들만 배열형태로 갖는다.</p>
]]></content:encoded>
			<wfw:commentRss>http://leeyunhan.com/archives/273/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
