文档章节

Js/css文件异步加载器

得推网络
 得推网络
发布于 2015/03/31 21:53
字数 673
阅读 31
收藏 0
/*skyLoad.js加载公用js文件*/
var iframedir="../";
var ROOT="../";
var inapp=true;
var CLICK="click";
var SITE="http://skycms.skymvc.com/";  
if(inapp){
	appjs="js/app.js";
}else{
	appjs="js/wap.js";
}
var basejs=["js/zepto.min.js","js/template-native.js","js/mui.min.js","js/common.js",appjs]	;
var basecss=["css/mui.css","css/app.css"];

/*css加载器*/
function loadcss(css){
	for(var i=0;i<css.length;i++){
		addcss(css[i]);
	}
}
function addcss(file){
	var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement;
	var	css=document.createElement('link'); 
	  css.href=ROOT+file; 
	  css.rel='stylesheet'; 
	  css.type='text/css'; 
	  head.appendChild(css);
	 
	
}
/**JS加载器**/
function addjs(i,jss,loadjs_init){
	var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement,
	script,options,s;
	var i=i;
	s = options || {};
	var url = ROOT+jss[i];
	script = document.createElement("script");
	script.async = false;
	script.type = "text/javascript";
	script.charset="utf-8";
	script.src = url;
	head.insertBefore(script, head.firstChild);
	script.addEventListener("load", function() {
		if(i<jss.length-1){
			addjs(i+1,jss,loadjs_init);
		}else{
					 
			loadjs_init();
		}
	},false);
	 
	
}
function loadjs(jss,loadjs_init){ 
	addjs(0,jss,loadjs_init);	
}

/*END js加载器*/
function skyready(fun){
	if(inapp){
		if(window.plus){ 
			fun();
		}else{
			document.addEventListener('plusready',fun(),false);
		}
	}else{
		$(document).ready(function(){
			fun();
		})
	}
}

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
    <title>SkyCMS</title>
    <script src="js/skyload.js"></script>
    <script>
    	ROOT="./";
    	iframedir="./";
    	loadcss(basecss);
    	basejs.push("js/sidemenu.js");
    </script>
  
    <link href="css/sidemenu.css" rel="stylesheet">   
</head> 
<body>  
	<div id="sidemenu-left" class="side">
  <div id="sidemenu-left-close" onClick="sidemenu_left_hide()"><i class="mui-icon mui-icon-close"></i></div>
  <div class="sidemenu-list"> 
     
    <div class="item"><a href="article/index.html">文章</a></div>
    <div class="item"><a href="forum/index.html">论坛</a></div>
     <div class="item"><a href="picture/index.html">图片</a></div> 
     <div class="item"><a href="product/index.html">产品</a></div>
      
  </div>
</div>
	
	<header class="mui-bar mui-bar-nav">
		<a class="mui-icon mui-icon-bars mui-pull-left" onClick="sidemenu_left_show()"></a>
		<h1 class="mui-title">SkyCms</h1>
		<a class="mui-icon mui-icon-person mui-pull-right" href="user/user.html"></a>
	</header>
	
	<div class="mui-content">
		<style>
					.mui-slider-item{height: 200px;}
					.mui-slider-item-img{max-height: 201px; min-height: 200px;}
				</style>
				 <div id="slider" class="mui-slider">
				<div id="slider-ct" class="mui-slider-group mui-slider-loop">
					 
					 
				</div>
				<div id="slider-ind" class="mui-slider-indicator mui-text-right">
					 
				</div>
			</div>
			 
 
			<!------END slider------->
		<ul class="mui-table-view" id="list-art">			 
		</ul>
		   
		<div id="pullup" class="pullup">加载更多..</div>
	</div>
<!------------模板----------------------------------->
<script id="list-art-tpl" type="text/html">
			  <%for (var i=0;i<data.length;i++) {%>
        		<li class="mui-table-view-cell">
        			<a href="article/show.html?id=<%=data[i].id%>" class="mui-navigate-right">
        			<%if(data[i].imgurl){%>
        			<img class="mui-media-object mui-pull-left" src="<%=data[i].imgurl%>.100x100.jpg">
                    <div class="mui-media-body">
                        <%=data[i].title%>
                        <p class='mui-ellipsis'><%=data[i].description%></p>
                    </div>
                    <%}else{%>
        			<%=data[i].title%>
        			<%}%>
        			</a>
        		</li>
   			 <%}%>
				
		</script>

<!------------End 模板------------------------------>
<!----------脚本控制器-------------------->
<script>
	

		function indexad(){				   
				get(SITE+"index.php?m=adapi&a=listbyno&no=app-index",function(data){
 
					var len=data.length;
					var html='';				 
					var item;
					var ind='';
					var firstitem;					
					for(var i=0;i<len;i++){
						item='';
						if(i==0 ){ 
							ind+='<div class="mui-indicator mui-active"></div>';
							item='<div class="mui-slider-item mui-slider-item-duplicate">'
						}else if(i==len-1){
							item='<div class="mui-slider-item mui-slider-item-duplicate">'
							ind+='<div class="mui-indicator"></div>';
						}else{
							item='<div class="mui-slider-item">';
							ind+='<div class="mui-indicator"></div>';
						}
						
						item+='<a href="'+data[i].link1+'"><img class="mui-slider-item-img" src="" data-src="'+SITE+data[i].imgurl+'"><p class="mui-slider-title">'+data[i].title+'</p></a>';
						item+='</div>';
						if(i==0) firstitem=item; 
						html+=item;
						if(i==len-1){
							html=item+html+firstitem;
						}
						
					}
					$("#slider-ind").html(ind); 
					$("#slider-ct").html(html);
					var slider = mui("#slider");
					
					slider.slider({
							interval: 4000
					});
					var its=mui(".mui-slider-item-img"); 
					 
					for(var j=0;j<its.length;j++){
						its[j].attributes['src'].value=its[j].attributes['data-src'].value;
					}
					
 
					
				});	
			} 
		
		function art(){			 
			get(SITE+"app.php?m=article&a=list",function(data){
				var tdata={data:data,site:SITE};
				var html = template('list-art-tpl', tdata);
				$("#list-art").append(html);
			});		
		}
		
	function plusReady(){
		 
  		indexad();
		art(); 
	}
		 
	
	function init(){
		skyready(plusReady); 
		   
		listload.loadid="#pullup";
		listload.showload(function(){
			art();
		})
	}			
	loadjs(basejs,init);
		
</script>
</body>
</html>


© 著作权归作者所有

共有 人打赏支持
得推网络
粉丝 2
博文 14
码字总数 8499
作品 1
厦门
高级程序员
JSON,异步加载(学习笔记)

JSON是一种传输数据的格式(以对象为样板,本质上就是对象,但用途有区别,对象就是本地用的,json是用来数据传输的,前端与后端的数据通信) JSON是静态类(不需要构造),类似于Math,内部...

Mrs_CoCo
04/23
0
0
再谈DOMContentLoaded与渲染阻塞—分析html页面事件与资源加载

浏览器的多线程中,有的线程负责加载资源,有的线程负责执行脚本,有的线程负责渲染界面,有的线程负责轮询、监听用户事件。 这些线程,根据浏览器自身特点以及web标准等等,有的会被浏览器特...

zhoulujun
05/22
0
0
再谈 load 与 DOMContentLoaded

本文首发在github,感兴趣请点击此处 window 的 onload 事件对于前端童鞋来说肯定是熟的不能再熟了,相信大家在刚入门时,见的最多的可能就是 load 事件了。load 事件接触多了,大家就会接触...

lucefer
06/21
0
0
移除阻止呈现的JavaScript

个人原创网址: http://www.phpthinking.com/archives/443 浏览器必须先解析网页,然后才能将其呈现给用户。如果浏览器在解析过程中遇到系统阻止的外部脚本,必须停止解析并且下载该JavaScr...

PHP开发学习门户
2014/09/25
0
0
avalonJS-源码阅读(前)

avalon模块加载 avalon自己实现了一套可被替换的模块加载系统(AMD loader)。具体什么是AMD loader可参看doJo官方博客关于AMD loader的翻译讲解,看完之后,再继续往下看,会比较清楚些。 ...

lost_o0
2014/05/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot 使用parent方式引用时 获取值属性方式默认@

采用官网提供的 引入依赖时,application.properties中的值变量,无法通过${}获取,这是由于Spring Boot 已经将字符方式调整为 <resource.delimiter>@</resource.delimiter>。故如果在,工程中...

翱翔fly
14分钟前
1
0
HTTPS证书验证流程及SSL证书生成步骤【附nginx开启https配置】

------------------------------------------------------------ HTTPS证书验证流程(极简化版) 1.客户端向服务端请求证书(server.crt) 2.服务端下发证书(server.crt) 3.客户端用预制的...

xiaomin0322
15分钟前
1
0
预编译sql语句和参数化sql能有效防止——sql注入攻击——

预编译和参数化处理sql原理类似: 参数化处理sql 是将参数进行了字符串化处理,把参数中的单引号,井号#,等都做了转义处理,进而在执行sql语句时不会被当做sql中的定界符和指定符来执行。 ...

fang_faye
16分钟前
1
0
springboot最全配置解释

​​​​​​​# ----------------------------------------# 核心属性# ----------------------------------------# 文件编码banner.charset= UTF-8# 文件位置banner.locati...

废柴大叔
17分钟前
57
1
(大致了解下)从单机到2000万QPS: 知乎Redis平台发展与演进之路

导读:知乎存储平台团队基于开源Redis 组件打造的知乎 Redis 平台,经过不断的研发迭代,目前已经形成了一整套完整自动化运维服务体系,提供很多强大的功能。本文作者是是该系统的负责人,文...

Ocean_K
24分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部