自从认识了jQuery后,很多页面加载入口,都放在document.ready里面。但是有时候这个觉得ready加载太慢,
这个【监测类 】就开始产生了
效果类似这个。
每10毫秒检查一次,直到加载了jQuery 和$.fn.lazyload,再初始化页面
var jqloadIvl=setInterval(function(){
if(typeof jQuery!="undefined" && typeof $.fn.lazyload =="function"){
$('.productbox img').lazyload({ threshold:200});
clearInterval(jqloadIvl);
}
},10);
于是写成一个类
监控变量c,直到c==1,才调用callback这个函数
<!DOCTYPE>
<html>
<head>
<title>测试</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="http://files.cnblogs.com/files/hhkedang/waiter.js"></script>
</head> <body>
<script>
var c=0;
var w = new Waiter();
w.check( function () {
return c==1;
});
w.callback(function(){
alert("Ok");
});
w.threshold = 100;//100毫秒检查一次
w.listen(); var setone=function(){
c=1;
}
</script>
<input type="button" value="把值为1" onclick="setone()" />
</body>
</html>
按例2:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>测试</title>
<script src="http://files.cnblogs.com/files/hhkedang/waiter.js"></script>
</head> <body>
<script>
var __index;
var data="";
var w = new Waiter();
w.check(function () {
return typeof data !="undefined" && data.length>=10;
});
w.check(function () {
return typeof data != "undefined" && data.length >= 20;
});
w.callback(function(){
console.log("数据10加载完毕"); });
w.callback(function () {
console.log("数据20加载完毕"); });
w.threshold = 10;//默认100毫秒
w.listen(); //模拟加载数据过程
__index=setInterval(function(){
data += "■";
document.title = data;
},100);
</script> </body>
</html>
实例2里,检测 data 的过程,分段检查。
下载write.js