'Javascript'에 해당되는 글 20건
- 2010.12.07 jQuery Selector 기본 표
- 2010.05.19 경고창 없이 window.close() 로 창닫기
- 2010.04.15 window.showModalDialog 로 넘길 수 있는 최대문자 4096
- 2010.03.08 javascript 에서 동적으로 style 적용
- 2010.02.12 jQuery VS2008 에서 인텔리센스 활용
- 2009.04.24 [펌]자바스크립트에서의 객체 깊은 복사하기..!!
- 2009.04.23 오늘 날짜를 기준으로 저번주, 이번주 구하기
- 2009.02.09 Javascript에서 파일로 된 xml 문서 로드 하기(초간단)
- 2009.01.23 Array 를 join() 함수를 이용하여 문자열로 가져오기(간단)
- 2008.12.19 Javascript 에서의 Drag & Drop
경고창 없이 window.close() 로 창닫기
-- ie only
window.opener='nothing';
window.open('','_parent','');
window.close();
-- all
window.open('', '_self', '');
window.close();
끝.
window.showModalDialog 로 넘길 수 있는 최대문자 4096
window.showModalDialog 로 넘길 수 있는 최대문자는 4096자
우회적으로 해결.
먼저 parent 창에서
문자열 리턴할 함수 만들고
--------------------------------------
function GetXmlString(){}
--------------------------------------
자기 자신을 넘겨주고..
--------------------------------------
window.showModalDialog(url,window.self,feature);
--------------------------------------
모달창에서 받을때
-------------------------------------
var argument = window.dialogArguments.document.Script.GetXmlString();
-------------------------------------
끝.
javascript 에서 동적으로 style 적용
참조 : http://www.phpied.com/dynamic-script-and-style-elements-in-ie/
function btn1Click1() { //create style tag
var cssStr = "div {color:blue;}";
var styleSheet = document.createElement("style");
styleSheet.setAttribute("id", "id1");
styleSheet.setAttribute("type", "text/css");
if (styleSheet.styleSheet) { //IE
styleSheet.styleSheet.cssText = cssStr;
}
else { // W3
var css = document.createTextNode(cssStr);
styleSheet.appendChild(css);
}
var head = document.getElementsByTagName("head")[0];
var id1 = document.getElementById("id1");
if (!id1)
head.appendChild(styleSheet);
}
function btn1Click2() { //remove style tag
var id1 = document.getElementById("id1");
var head = document.getElementsByTagName("head")[0];
if (id1)
head.removeChild(id1);
}
jQuery VS2008 에서 인텔리센스 활용
1. VS2008 SP1 설치
1.1 한글 인텔리센스 핫픽스 설치
http://code.msdn.microsoft.com/KB957507/Release/ProjectReleases.aspx?ReleaseId=1854
2. http://code.msdn.microsoft.com/KB958502/Release/ProjectReleases.aspx?ReleaseId=1736
VS90SP1-KB958502-x86.exe 파일 다운 후 설치
3. jQuery-vsdoc.js 파일을 다운받아 프로젝트 폴더(jquery 파일이 있는)에 추가
끝.
[펌]자바스크립트에서의 객체 깊은 복사하기..!!
소스 출처 : http://web.dicnote.com/bbs/board.php?bo_table=web_tip&wr_id=17&page=9&sca=&sfl=&stx=&spt=0&page=9&cwin=
//생성자 가져오기
function getConstructorName(o) {
if (o.constructor) {
var code = o.constructor.toString();
match = code.match(/function ([^\(]*)/);
return (match && match[1]) || null;
}
return null;
}
//실제 깊은 복사 수행하는 부분
function deepCopy(src) {
var constructor;
var dst;
if ((typeof src == "object") && (constructor = getConstructorName(src))) {
dst = eval("new " + constructor + "()");
if (src.prototype)
for (var key in src.prototype)
dst.prototype[key] = deepCopy(src.prototype[key]);
for (var key in src)
dst[key] = deepCopy(src[key]);
return dst;
}
dst = src;
return dst;
}
Javascript에서 파일로 된 xml 문서 로드 하기(초간단)
var xmldom = new ActiveXObject("Microsoft.XMLDOM"); //xmldom 객체 생성
xmldom.async = false; //동기로 설정
xmldom.load("/xmlResult.xml"); //해당 경로에서 xml 문서를 읽어들임
var xmldoms = xmldom.documentElement; //xml의 root element 를 가져옴.
alert(xmldoms.xml); //xml 문서가 어떻게 생겼는지 경고창으로 본다.
//문서 저장 하는 건 권한 오류가 남.. 이건 아시는 분 알려주세여 ㅠㅠ
xmldom.save("c:/savesave.xml"); //경고창 (권한이 없습니다.)
끝.
Array 를 join() 함수를 이용하여 문자열로 가져오기(간단)
//배열 선언
var arr = new Array();
//각종 값들을 넣고
arr[0] = "0";
arr[1] = "1";
arr[2] = "2";
arr[3] = "3";
// /(슬러쉬)기호로 조인을 하면
var a = arr.join("/");
document.write(a);
// 0/1/2/3 <-- 이런 출력값이 나온다.
//조인 기호를 넣지 않는다면..
var a = arr.join();
document.write(a);
// 0,1,2,3 <-- 기본값은 , (콤마)로 나뉘어 진다.
Javascript 에서의 Drag & Drop
1. 이동할 객체를 선정하고 스타일을 준다
- 스타일은 position, top, left 세가지는 필수 사항이다
- position은 absolute, fixed, relative 세 가지 중 하나를 선택해야 한다.
<body> <form id="form1" runat="server"> <div id="hihi"> <img src="images/lee.jpg" alt="" id="img1" style=" position:absolute; top:0px; left:0px;" /> //스타일 </div> </form> </body> |
2. 페이지 로드시에 이동할 객체에 onmousedown, onmousemove, onmouseup를 정의해 준다.
2. 마우스가 객체 위에서 다운(눌려진 상태) 일 경우 마우스의 위치를 구하고 이동할 경우 이동한 차이값을 구한다.
3. 이동한 차이값 만큼 객체의 top과 left 속성을 변경 시켜주면 끝.
<script type="text/javascript" language="javascript"> var img1; var isDown = false; var clientX1 = 0; var clientY1 = 0; var clientX2 = 0; var clientY2 = 0; var left; var top; window.onload = function() { img1 = document.getElementById("img1"); img1.onmousedown = mouseDown; img1.onmousemove = mouseMove; img1.onmouseup = mouseUp; } function mouseUp() { isDown = false; } function mouseDown() { isDown = true; clientX1 = event.clientX; clientY1 = event.clientY; clientX2 = clientX1; clientY2 = clientY1; //alert(clientX); } function mouseMove() { clientX1 = event.clientX; clientY1 = event.clientY; clientX2 = clientX1 - clientX2; clientY2 = clientY1 - clientY2; left = img1.style.left; top = img1.style.top; left = left.substr(0, left.length - 2); top = top.substr(0, top.length - 2); left = parseInt(left); top = parseInt(top); if (isDown) { img1.style.left = left + clientX2; img1.style.top = top + clientY2; clientX2 = clientX1; clientY2 = clientY1; return false; } } </script> |