최근에 resize 에 관련해서 몇몇 오류들을 격다보니...
resize() 에 관한 통일안이 있어야하나...라는 생각이 문득 들었다.
(아직 testing 중...)
...
frame.onload=... 가
프레임 내부에서 call 하느냐, 아니면 프레임 외부에서 call 하느냐...랄까...
뭐... 원초적(?)인 문제는 그 부분이 아닌 것 같지만...
...
외부에서 불러오지 않으면(?) 내부에서 부른다...라는 컨셉으로 script 를 작성해본다.
일단 iframe 내부...
<html><head></head>
<body onload=callResize(); onresize=releaseResize(); >
<script>
var resizeCaller='';
function resizing() { with(document.body) window.resize(scrollWidth, scrollHeight); resizeCaller=''; }
function callResize() { resizeCaller=setTimeout(resizing, 100); }
function releaseResize() { if (resizeCaller) clearTimeout(resizeCaller); }
</script>
</body>
위의 방법이 잘 됐으면 좋겠지만... 어딘지 자꾸 오류가 생기는 것 같아서...
*추가* '10.03.06 00:20
iframe 관련해서 연동도 시킬겸... 몇번 연구끝에... 이정도 선에서 일단 결론을 내렸다.
<script>
var resizeCaller='', resizingObject='';
function resizing() { if (!resizingObject) with(window.document.body) window.resizeTo(scrollWidth, scrollHeight); else with(resizingObject.document.body) { resizingObject.width=scrollWidth; resizingObject.height=scrollHeight; } resizeCaller=''; resizingObject=''; }
function callResize() { if (arguments.length) resizingObject=arguments[0]; else resizingObject=''; resizeCaller=setTimeout(resizing, 100); }
function releaseResize() { if (resizeCaller) { clearTimeout(resizeCaller); resizeCaller=resizingObject=''; } }
</script>
...
<td onresize=callResize(); ... >...</td>
...
<iframe onresize=releaseResize(); onload=callResize(this); ...></iframe>
...
내 생각이 맞다면, 일반에서도 적용이 될 듯...
DoubleVictory killofki@.
'windows .setTimeout()' 카테고리의 다른 글
animation] 여러장을 넓게(?) 펼져서 적용해봤습니다. (0) | 2012.04.03 |
---|---|
바탕화면 이미지에 뿌연 효과(?)를... (0) | 2009.10.08 |
timer threading? (0) | 2009.09.08 |
팝업메뉴를 닫기 위해... onmouseout & windows.setTimeout()... (0) | 2009.08.29 |