jQuery ready
html DOM요소가 로딩이 완료되면 발생. 이미지가 로드되기 전에 실행
window["readyList"] = [];
Ready = function(func) {
this.isReady = false;
window["readyList"].push(func);
var Func = function() {
if(!this.isReady) {
this.isReady = true;
var fn, i = 0;
while(fn = window["readyList"][i++]) {
fn.call();
}
window["readyList"] = [];
} else {
if(!document.body) {
return setTimeout(Func, 13);
}
}
}
var DOMContentLoaded = function() {
if(document.addEventListener) {
document.removeEventListener("DOMContentLoaded", DOMContentLoaded, false);
Func();
} else {
if(document.readyState === "complete") {
document.detachEvent("onreadystatechange", DOMContentLoaded);
Func();
}
}
}
var ScrollCheck = function() {
if(this.isReady) {
return;
}
try {
document.documentElement.doScroll("left");
} catch (error) {
setTimeout(ScrollCheck, 1);
return;
}
Func();
}
if(document.readyState === "complete" || document.readyState === "loaded") {
Func();
}
if(document.addEventListener) {
document.addEventListener("DOMContentLoaded", DOMContentLoaded, false);
window.addEventListener("load", Func, false);
} else {
document.attachEvent("onreadystatechange", DOMContentLoaded);
window.attachEvent("onload", Func);
var toplevel = false;
try {
toplevel = window.frameElement == null;
} catch(e) { }
if(document.documentElement.doScroll && toplevel) {
ScrollCheck();
}
}
}
사용법(jQuery 처럼 다중 사용 가능)
Ready(function() {
// 실행 할 구문 작성
});
Ready(function() {
// 실행 할 구문 작성
});
Ready(function() {
// 실행 할 구문 작성
});
'Language > JavaScript' 카테고리의 다른 글
onload, DOMContentLoaded, onreadystatechange, defer, jQuery ready 페이지 로드 테스트 (0) | 2010.10.10 |
---|---|
IE referer 확인 가능한 링크 걸기 (0) | 2010.07.06 |
숫자에 콤마 찍기 (0) | 2010.07.06 |
문자열 자르기 (0) | 2010.07.06 |
객체에 좌표 구하기 (0) | 2010.07.06 |