上一篇完成的JS的按需加载,这篇添加个新方法css,完成对CSS文件的加载。接口与JS相同,示例如下
LazyLoad.css(['a.css', 'b.css', 'c.css'], function(){ console.log('css模块加载完毕'); });
Firebug中效果如下,
上一篇对JS的加载实现是通过script元素,css则是通过link元素。而link元素仅IE6/7/8/9和Opera中支持其onreadystatechange事件,Firefox/Safari/Chrome既不支持onreadystatechange,也不支持onload。这里取了一个巧使用setTimeout延迟加载。
HTML如下
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>LazyLoad_0.2.js</title>
<script src="http://files.cnblogs.com/snandy/LazyLoad_0.2.js"></script>
<script type="text/javascript">
var ary = [
'http://files.cnblogs.com/snandy/a.css',
'http://files.cnblogs.com/snandy/b.css',
'http://files.cnblogs.com/snandy/c.css'
];
function start(){
LazyLoad.css(ary, function(){
});
}
</script>
</head>
<body>
<button οnclick="start()">Start loading</button>
</body>
</html>
页面初始时字体颜色,背景色等都是默认的。点击按钮“Start loading”后会载入a,b,c三个css文件。此时字体颜色变成红色,背景色为黄色。文字也居中了。