组件方式开发 Web App全站-5-开发H5对象
来源:互联网 发布:windows徽标 编辑:程序博客网 时间:2024/05/16 12:37
1. 内容组织:添加页面,添加组件 2. 整合fullPage.js页面切换 3. 链式调用
jQuery对象,对一个Dom数组进行封装,提供一系列对Dom数据的操作,大部分的操作可以返回jQuery对象自身,从而可以方便的链式操作。
组件不知道添加到哪页?
小技巧:每次添加页面的时候会把Page最后一页记录下来;
page = this.page.slice(-1)[0]
小技巧:sublime安装DocBlockr插件 在function上一行输入/**,然后按Tab就自动补全注释
- fullpage()方法需要在每个页面的容器中添加class=section
- 断点调试
js组件代码:
/* 内容管理对象 */var H5 = function (){ this.id = ('h5_'+Math.random()).replace('.','_'); this.el = $('<div class="h5" id="' + this.id + '"></div>').hide(); this.page =[]; $('body').append( this.el ); /** * 新增一个页 * @param {string} name 组建的名称,会加入到ClassName中 * @param {[type]} text 页内的默认文本 * @return {H5} 可以重复使用H5对象支持的方法 */ this.addPage = function(name,text){ var page = $('<div class="h5_page section"></div>'); if(name != undefined){ page.addClass('h5_page_' + name); } if(text != undefined){ page.text(text); } this.el.append(page); this.page.push(page); return this; } this.addComponent = function(name,cfg){ var cfg = cfg || {}; // jQuery.extend() 函数用于将一个或多个对象的内容合并到目标对象。 cfg = $.extend({ type : 'base' },cfg); var component; //定义一个变量,存储,组件元素 // 选中最后一页 var page = this.page.slice(-1)[0]; switch(cfg.type){ case 'base': component = new H5ComponentBase(name,cfg); break; // default: } page.append(component); return this; } this.loader = function(){ this.el.fullpage({ //触发事件 onLeave:function(index,nextIndex,direction){ // debugger this.find('.h5_component').trigger('onLeave') }, afterLoad:function(anchorLink,index){ // debugger this.find('.h5_component').trigger('onLoad') } }); this.page[0].find('.h5_component').trigger('onLoad'); this.el.show(); } return this;}
测试:
<!DOCTYPE html><html><head> <meta charset="UTF-8"/> <meta name="viewport" content="width=device-width, minimum-scale=1, maximum-scale=1"> <title>IT学习网2015课程学习情况</title> <!-- 基本资源库 --> <script type="text/javascript" src="../js/lib/jquery.js"></script> <script type="text/javascript" src="../js/lib/jquery-ui.min.js"></script> <script type="text/javascript" src="../js/lib/jquery.fullPage.js"></script> <!-- H5对象资源&管理内容:页-组件 --> <script type="text/javascript" src="../js/H5.js"></script> <link rel="stylesheet" type="text/css" href="../css/H5.css"> <script type="text/javascript" src="../js/H5ComponentBase.js"></script> <link rel="stylesheet" type="text/css" href="../css/H5ComponentBase.css"> <style type="text/css"> </style></head><body> <!-- 测试内容组织功能,以及fullPage页面切换&组件切换 --> <!-- 内容组织管理,有可能会加载若干个资源 --> <!-- loder作用:多个资源加载后呈现 --> <script type="text/javascript"> var h5 = new H5(); h5 .addPage('face','首页') .addComponent('logo',{ text : 'logo', width : 400, height : 100, css : {backgroundColor:'red',top:200,opacity:0}, center :true, animateIn:{opacity:1}, animateOut:{opacity:0} }) .addComponent('logo',{text:'logo'}) .addPage('face','首页') .addComponent('logo',{text:'logo'}) .addPage('face','首页') .loader(); </script></body></html>
0 0
- 组件方式开发 Web App全站-5-开发H5对象
- 组件方式开发 Web App全站-5-开发基本图文组件H5ComponentBase
- 组件方式开发 Web App全站框架源码
- 组件方式开发 Web App全站-1
- 组件方式开发 Web App全站-3
- 组件方式开发 Web App全站-4- 页面切换
- 组件方式开发 Web App全站-8-总项目
- 走近大前端:组件方式开发web app全站
- 组件方式开发 Web App全站-6-图表组件-散点图组件开发
- 组件方式开发 Web App全站-7-图表组件-柱状图组件开发
- 慕课网实战—《用组件方式开发 Web App全站 》笔记三 -散点图组件开发
- 慕课网实战—《用组件方式开发 Web App全站 》笔记四-柱状图组件开发
- 慕课网实战—《用组件方式开发 Web App全站 》笔记五-折线图组件开发
- 慕课网实战—《用组件方式开发 Web App全站 》笔记六-雷达图组件开发
- 慕课网实战—《用组件方式开发 Web App全站 》笔记七-饼图和环图组件开发
- 慕课网实战—《用组件方式开发 Web App全站 》笔记一
- 慕课网实战—《用组件方式开发 Web App全站 》笔记二
- 用组件方式开发 Web App全站之通用图文组件类-H5ComponentBase(接受 onLoad、onLeave事件)
- 计蒜客 字符串长度
- Java正步走——学习Java之前的思考
- 行为型模式总结
- java基础总结12-面向对象8(Object类)
- 关于代码中中文字符的错误或者乱码的解决办法
- 组件方式开发 Web App全站-5-开发H5对象
- 第一次电面面经
- spring-security中DelegatingFilterProxy的delegateMonitor的作用
- Revit开发关于创建Tab的问题
- define宏定义
- 代码布局,Masonry的使用
- 重修大学JAVA课:File.io(一)
- libsvm,svmtrain函数参数说明
- far frr err accuracy