웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
브라우저를 동적으로 부드럽게 리사이즈 하는 소스
2005.03.06 01:30
----------------------------------------------------------------------------
미리보기 : http://www.blueb.co.kr/bbs.php?table=JS_11&query=view&uid=131
----------------------------------------------------------------------------
<html>
<head>
<title> http://www.blueb.co.kr </title>
<script>
function resizeWin(maxX,maxY,speed,delay,win){
this.obj = "resizeWin" + (resizeWin.count++);
eval(this.obj + "=this");
if (!win) this.win = self; else this.win = eval(win);
if (!maxX) this.maxX = 400; else this.maxX = maxX;
if (!maxY) this.maxY = 300; else this.maxY = maxY;
if (!speed) this.speed = 1/2; else this.speed = 1/speed;
if (!delay) this.delay = 0; else this.delay = delay;
this.doResize = (document.all || document.getElementById);
this.stayCentered = false;
this.initWin = function(){
if (this.doResize){
this.resizeMe();
}
else {
this.win.resizeTo(this.maxX + 10, this.maxY - 20);
}
}
this.resizeMe = function(){
this.win.focus();
this.updateMe();
}
this.resizeTo = function(x,y){
this.maxX = x;
this.maxY = y;
this.resizeMe();
}
this.stayCentered = function(){
this.stayCentered = true;
}
this.updateMe = function(){
this.resizing = true;
var x = Math.ceil((this.maxX - this.getX()) * this.speed);
var y = Math.ceil((this.maxY - this.getY()) * this.speed);
if (x == 0 && this.getX() != this.maxX) {
if (this.getX() > this.maxX) x = -1;
else x = 1;
}
if (y == 0 && this.getY() != this.maxY){
if (this.getY() > this.maxY) y = -1;
else y = 1;
}
if (x == 0 && y == 0) {
this.resizing = false;
}
else {
this.win.top.resizeBy(parseInt(x),parseInt(y));
if (this.stayCentered == true) this.win.moveTo((screen.width - this.getX()) / 2,(screen.height - this.getY()) / 2);
setTimeout(this.obj + '.updateMe()',this.delay)
}
}
this.write = function(text){
if (document.all && this.win.document.all["coords"]) this.win.document.all["coords"].innerHTML = text;
else if (document.getElementById && this.win.document.getElementById("coords")) this.win.document.getElementById("coords").innerHTML = text;
}
this.getX = function(){
if (document.all) return (this.win.top.document.body.clientWidth + 10)
else if (document.getElementById)
return this.win.top.outerWidth;
else return this.win.top.outerWidth - 12;
}
this.getY = function(){
if (document.all) return (this.win.top.document.body.clientHeight + 29)
else if (document.getElementById)
return this.win.top.outerHeight;
else return this.win.top.outerHeight - 31;
}
this.onResize = function(){
if (this.doResize){
if (!this.resizing) this.resizeMe();
}
}
return this;
}
resizeWin.count = 0;
</script>
</head>
<BODY>
<b>
<a href=# onclick="javascript:dolion = new resizeWin(700,500);dolion.stayCentered();dolion.initWin();dolion.onResize();">윈도우 리사이즈 (700 x 500)1</a><br>
<a href=# onclick="javascript:dolion = new resizeWin(800,300);dolion.stayCentered();dolion.initWin();dolion.onResize();">윈도우 리사이즈 (800 x 300)2</a><br>
<a href=# onclick="javascript:dolion = new resizeWin(400,500);dolion.stayCentered();dolion.initWin();dolion.onResize();">윈도우 리사이즈 (400 x 500)3</a><br>
<a href=# onclick="javascript:dolion = new resizeWin(350,350);dolion.stayCentered();dolion.initWin();dolion.onResize();">윈도우 리사이즈 (350 x 350)4</a><br>
</b>
미리보기 : http://www.blueb.co.kr/bbs.php?table=JS_11&query=view&uid=131
----------------------------------------------------------------------------
<html>
<head>
<title> http://www.blueb.co.kr </title>
<script>
function resizeWin(maxX,maxY,speed,delay,win){
this.obj = "resizeWin" + (resizeWin.count++);
eval(this.obj + "=this");
if (!win) this.win = self; else this.win = eval(win);
if (!maxX) this.maxX = 400; else this.maxX = maxX;
if (!maxY) this.maxY = 300; else this.maxY = maxY;
if (!speed) this.speed = 1/2; else this.speed = 1/speed;
if (!delay) this.delay = 0; else this.delay = delay;
this.doResize = (document.all || document.getElementById);
this.stayCentered = false;
this.initWin = function(){
if (this.doResize){
this.resizeMe();
}
else {
this.win.resizeTo(this.maxX + 10, this.maxY - 20);
}
}
this.resizeMe = function(){
this.win.focus();
this.updateMe();
}
this.resizeTo = function(x,y){
this.maxX = x;
this.maxY = y;
this.resizeMe();
}
this.stayCentered = function(){
this.stayCentered = true;
}
this.updateMe = function(){
this.resizing = true;
var x = Math.ceil((this.maxX - this.getX()) * this.speed);
var y = Math.ceil((this.maxY - this.getY()) * this.speed);
if (x == 0 && this.getX() != this.maxX) {
if (this.getX() > this.maxX) x = -1;
else x = 1;
}
if (y == 0 && this.getY() != this.maxY){
if (this.getY() > this.maxY) y = -1;
else y = 1;
}
if (x == 0 && y == 0) {
this.resizing = false;
}
else {
this.win.top.resizeBy(parseInt(x),parseInt(y));
if (this.stayCentered == true) this.win.moveTo((screen.width - this.getX()) / 2,(screen.height - this.getY()) / 2);
setTimeout(this.obj + '.updateMe()',this.delay)
}
}
this.write = function(text){
if (document.all && this.win.document.all["coords"]) this.win.document.all["coords"].innerHTML = text;
else if (document.getElementById && this.win.document.getElementById("coords")) this.win.document.getElementById("coords").innerHTML = text;
}
this.getX = function(){
if (document.all) return (this.win.top.document.body.clientWidth + 10)
else if (document.getElementById)
return this.win.top.outerWidth;
else return this.win.top.outerWidth - 12;
}
this.getY = function(){
if (document.all) return (this.win.top.document.body.clientHeight + 29)
else if (document.getElementById)
return this.win.top.outerHeight;
else return this.win.top.outerHeight - 31;
}
this.onResize = function(){
if (this.doResize){
if (!this.resizing) this.resizeMe();
}
}
return this;
}
resizeWin.count = 0;
</script>
</head>
<BODY>
<b>
<a href=# onclick="javascript:dolion = new resizeWin(700,500);dolion.stayCentered();dolion.initWin();dolion.onResize();">윈도우 리사이즈 (700 x 500)1</a><br>
<a href=# onclick="javascript:dolion = new resizeWin(800,300);dolion.stayCentered();dolion.initWin();dolion.onResize();">윈도우 리사이즈 (800 x 300)2</a><br>
<a href=# onclick="javascript:dolion = new resizeWin(400,500);dolion.stayCentered();dolion.initWin();dolion.onResize();">윈도우 리사이즈 (400 x 500)3</a><br>
<a href=# onclick="javascript:dolion = new resizeWin(350,350);dolion.stayCentered();dolion.initWin();dolion.onResize();">윈도우 리사이즈 (350 x 350)4</a><br>
</b>
댓글 4
-
프템장
2005.03.06 21:00
멋지네요. 네스에서도 작동해서 더욱환상이군요. -
현원
2005.03.07 17:52
강추입니다 ㅠ_ㅜb 이거라면 창크기에 대한 걱정을 떨칠 수 있겠군요. 예를 들면 작은 모양의 홈피에 라던지 -
뮤직엔진
2005.03.07 19:18
와우~ 강추 동의합니다. 좋네요 잘 쓰겠습니다. ^^ -
김주영
2005.03.10 09:56
듀얼 모니터 쓰는 사람은 죽음이네요. ㅜ.ㅜ 리사이징 하면 무조건 왼쪽모니터로 와버리니.. 흠....
듀얼 옵션을 바까야 하나? 흠... 어떤걸루 바꿔요 이런 일이 안일어나려나..
제목 | 글쓴이 | 날짜 |
---|---|---|
뉴스티커 [4] | beMax | 2005.08.26 |
Rain# 머문시간 나타내기 [상태창] | Rain | 2005.08.14 |
자바스크립트 음악목록 랜덤 재생하기 | 만능천사 | 2005.08.14 |
미디어 플레이어? 난 곰플레이어야! [9] | 송재영 | 2005.07.24 |
SP2 팝업차단 무시하고 팝업띠우기?! [8] | 오길호 | 2005.07.23 |
파일 업로드 버튼 이미지로 사용하기 [1] | 행복한고니 | 2005.06.29 |
마우스 오른쪽버튼 금지시키기스크립트 [5] | 박시현 | 2005.06.26 |
링크 점선 처리 onfocus=blur() [5] | woosh | 2005.06.06 |
상태 표시줄 감지 (URL 가리고 내용 표시) 업그레이드 소스 [2] | ArⓒH | 2005.05.30 |
팝업창을 내용에 맞게 크기 자동조정하기 [2] | 김경수 | 2005.04.23 |
타켓으로 페이지 이동하는 스크립트 [2] | 로크 | 2005.04.16 |
풍선도움말 스크립트 [3] | 행복한고니 | 2005.04.11 |
플래쉬 갤러리 비슷한 자바스크립 갤러리 [13] | monozzang | 2005.04.04 |
플래시 칼라피커 두번째 버전 [1] | 행복한고니 | 2005.03.16 |
테이블선(지정위치)을 따라 이동하는 top [3] | sharim | 2005.03.14 |
마우스커서 움직임으로 이미지목록 스크롤 [1] | monozzang | 2005.03.13 |
브라우저를 동적으로 부드럽게 리사이즈 하는 소스 [4] | monozzang | 2005.03.06 |
가로 세로가 호환되는 메뉴 [3] | 이영준 | 2005.03.02 |
주소자동으로 이동 시키기(포워딩) [8] | 네츠키 | 2005.02.22 |
홈피 만들때 자주 사용되는 메타태그 모음 [18] | 김태영 | 2005.02.20 |