我想到一种方法可以使用定时器setTimeout,类似于这样
function $(string){ return document.getElementById(string); } setTimeout("",1000);
想请教各位有没有更好的方法呢,也不使用库,其实我很想知道jquery里是怎么操作的。
ready(function(){
// dom ready 后执行这段代码。
});
ready 实现如下:
var isReady = false;
var readyList = [];
function ready(fn) {
if (isReady) {
setTimeout(function () {
fn()
}, 0);
return;
}
readyList.push(fn);
}
function setReady() {
if (isReady) {
return;
}
isReady = true;
for (var i = 0, n = readyList.length; i < n; i++) {
readyList[i]();
}
readyList.length = 0;
}
(function () {
if (document.readyState === 'complete') {
setTimeout(setReady, 0);
} else {
document.addEventListener('DOMContentLoaded', setReady);
window.addEventListener('load', setReady);
}
}());
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。