文档章节

Js/css文件异步加载器

得推网络
 得推网络
发布于 2015/03/31 21:53
字数 673
阅读 33
收藏 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
厦门
高级程序员
私信 提问
写个js/css动态加载的JavaScript插件

由于现在手上项目没用到jQuery,以及希望能动态加载js/css 所以就写了动态加载的脚本 原理简介: 通过给定的url参数中js/css文件的后缀动态插件节点 通过参数绑定添加到的父级节点 绑定节点加载...

关爱单身狗
2017/01/19
0
0
JSON,异步加载(学习笔记)

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

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

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

zhoulujun
05/22
0
0
zTree 页面不能显示树形

我的前端代码是这样的: zTree Demo 后台返回的json数据是这样的: 结果页面是这样的: 各位大神,求解啊

java菜鸟111
2015/12/03
1K
1
再谈 load 与 DOMContentLoaded

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

lucefer
06/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

EOS docker开发环境

使用eos docker镜像是部署本地EOS开发环境的最轻松愉快的方法。使用官方提供的eos docker镜像,你可以快速建立一个eos开发环境,可以迅速启动开发节点和钱包服务器、创建账户、编写智能合约....

汇智网教程
今天
12
0
《唐史原来超有趣》的读后感优秀范文3700字

《唐史原来超有趣》的读后感优秀范文3700字: 作者:花若离。我今天分享的内容《唐史原来超有趣》这本书的读后感,我将这本书看了一遍之后就束之高阁了,不过里面的内容一直在在脑海中回放,...

原创小博客
今天
19
0
IC-CAD Methodology知识图谱

CAD (Computer Aided Design),计算机辅助设计,指利用计算机及其图形设备帮助设计人员进行设计工作,这个定义同样可以用来近似描述IC公司CAD工程师这个岗位的工作。 早期IC公司的CAD岗位最初...

李艳青1987
今天
18
0
CompletableFuture get方法一直阻塞或抛出TimeoutException

问题描述 最近刚刚上线的服务突然抛出大量的TimeoutException,查询后发现是使用了CompletableFuture,并且在执行future.get(5, TimeUnit.SECONDS);时抛出了TimeoutException异常,导致接口响...

xiaolyuh
今天
9
0
dubbo 搭建与使用

官网:http://dubbo.apache.org/en-us/ 一,安装监控中心(可以不安装) admin管理控制台,monitor监控中心 下载 bubbo ops 这个是新版的,需要node.js环境,我没有就用老版的了...

小兵胖胖
今天
19
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部