JS/CSS module LazyLoad 之二

上一篇完成的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="https://files.cnblogs.com/snandy/LazyLoad_0.2.js"></script>
		<script type="text/javascript">
			var ary = [
				'https://files.cnblogs.com/snandy/a.css',
				'https://files.cnblogs.com/snandy/b.css',
				'https://files.cnblogs.com/snandy/c.css'
			];
			function start(){
				LazyLoad.css(ary, function(){
				});
			}
		</script>
	</head>
	<body>
	<button onclick="start()">Start loading</button>
	</body>
</html>

页面初始时字体颜色,背景色等都是默认的。点击按钮“Start loading”后会载入a,b,c三个css文件。此时字体颜色变成红色,背景色为黄色。文字也居中了。


example下载

posted on 2011-04-30 12:27  snandy  阅读(2140)  评论(2编辑  收藏  举报