web组件化开发第一天
技术选型
html5 css3 jq
应用的插件
一、建一个测试页面,测试静态的功能
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, minimum-scale=1, maximum-scale=1"> <title>慕课网2015课程学习情况</title>
<style>
body{
margin:0;
padding:0;
}
.component{
width: 50%;
height:50px;
margin-bottom:20px;
background-color: red;
display: none;
}
</style> <body>
<!-- 用于验证 fullpage.js 切换页面,以及内容组织结构可用,组件能够进行动画 --> <div id="h5">
<!-- 给每个需要翻页的页面添加section类 给定不同的ID -->
<div class="page section" id="page-1">
<div class="component">logo</div>
<div class="component slogan">slogan</div>
</div>
<div class="page section" id="page-2">
<div class="component">logo</div>
<div class="component slogan">slogan</div>
</div>
<div class="page section" id="page-3">
<div class="component">logo</div>
<div class="component slogan">slogan</div>
</div>
</div> </body> </html>
二、首先载入fullpage.js
<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>
三、测试功能是否完好。
$(function (){
$('#h5').fullpage({
//传入背景色 sectionsColor 后面接对象。
'sectionsColor': ['#254875', '#00ff00', '#245874'],
/*
* 传入回掉函数 onLeave afterLoad
* afterLoad
* 滚动到某一屏后的回调函数,接收 anchorLink 和 index 两个参数,
* anchorLink 是锚链接的名称,index 是序号,从1开始计算
* onLeave
* 滚动前的回调函数,接收 index、nextIndex 和 direction 3个参数:
* index 是离开的“页面”的序号,从1开始计算;
* nextIndex 是滚动到的“页面”的序号,从1开始计算;
* direction 判断往上滚动还是往下滚动,值是 up 或 down。
* */
onLeave: function (index, nextIndex, direction) {
//让page执行onLeave事件。
$('#h5').find('.page').eq(index-1).trigger('onLeave');
},
afterLoad: function (anchorLink, index) {
//让page执行onLoad事件。
$('#h5').find('.page').eq(index-1).trigger('onLoad');
},
});
//给page页面绑定onLeave事件。
$('.page').on('onLeave',function () {
console.log($(this).attr('id'),'====>','onleave');
//让component执行onLeave事件。
$(this).find('.component').trigger('onLeave');
})
//给page页面绑定onLoad事件。
$('.page').on('onLoad',function () {
console.log($(this).attr('id'),'====>','onLoad');
//让component执行onLoad事件。
$(this).find('.component').trigger('onLoad');
})
//给component页面绑定onLoad事件。
$('.component').on('onLoad',function () {
$(this).fadeIn();
//防止事件冒泡。循环传播。
return false;
})
//给component页面绑定onLeave事件。
$('.component').on('onLeave',function () {
$(this).fadeOut();
return false;
})
});
web组件化开发第一天的更多相关文章
- 从徐飞的文章《Web应用的组件化开发(一)中窥视web应用开发的历史
Web应用的组件化开发(一) 原文来自 徐飞 基本思路 1. 为什么要做组件化? 无论前端也好,后端也好,都是整个软件体系的一部分.软件产品也是产品,它的研发过程也必然是有其目的.绝大多数软件产品是追 ...
- vue.js组件化开发实践
前言 公司目前制作一个H5活动,特别是有一定统一结构的活动,都要码一个重复的轮子.后来接到一个基于模板的活动设计系统的需求,便有了下面的内容.借油开车. 组件化 需求一到,接就是怎么实现,技术选型自然 ...
- Vue 入门之组件化开发
Vue 入门之组件化开发 组件其实就是一个拥有样式.动画.js 逻辑.HTML 结构的综合块.前端组件化确实让大的前端团队更高效的开发前端项目.而作为前端比较流行的框架之一,Vue 的组件和也做的非常 ...
- vue组件化开发实践
前言 公司目前制作一个H5活动,特别是有一定统一结构的活动,都要码一个重复的轮子.后来接到一个基于模板的活动设计系统的需求,便有了一下的内容.首先会对使用Vue进行开发的一些前期需要的技术储备进行简单 ...
- 漫谈Nuclear Web组件化入门篇
目前来看,团队内部前端项目已全面实施组件化开发.组件化的好处太多,如:按需加载.可复用.易维护.可扩展.少挖坑.不改组件代码直接切成服务器端渲染(如Nuclear组件化可以做到,大家叫同构)... 怎 ...
- 前端笔记之JavaScript面向对象(四)组件化开发&轮播图|俄罗斯方块实战
一.组件化开发 1.1组件化概述 页面特效的制作,特别需要HTML.CSS有固定的布局,所以说现在越来越流行组件开发的模式,就是用JS写一个类,当你实例化这个类的时候,页面上的效果布局也能自动完成. ...
- vue(9)—— 组件化开发 - webpack(3)
前面两个终于把webpack相关配置解析完了.现在终于进入vue的开发了 vue组件化开发预热 前期准备 创建如下项目: app.js: footer.js: main.js: webpack.con ...
- AppBoxFuture(六): 前端组件化开发
前面几篇都是在介绍结构化与非结构化的数据存储,本篇换换口味介绍一下框架是如何实现前端组件化开发的.首先得感谢Vue.ElementUI等优秀的前端开源项目,这些项目帮助作者快速实现了框架的两个前端 ...
- atitit. web组件化原理与设计
atitit. web组件化原理与设计 1. Web Components提供了一种组件化的推荐方式,具体来说,就是:1 2. 组件化的本质目的并不一定是要为了可复用,而是提升可维护性. 不具有复用 ...
随机推荐
- SQL Server不同服务器不同数据库间的操作
什么是跨服务器操作? 跨服务器操作就是可以在本地连接到远程服务器上的数据库,可以在对方的数据库上进行相关的数据库操作,比如增删改查. 为什么要进行跨服务器操作 随着数据量的增多,业务量的扩张,需要在不 ...
- Hadoop重新格式namenode后无法启动datanode的问题
这个很简单的哇~ 格式化namenode之后就会给namenode的ClusterId重新生成,导致与datanode中的ClusterId不一致而无法启动datanode 解决方法: 进入hadoo ...
- 腾讯云Windows Server下nodejs websocket ssl配置
1.从腾讯云申请SSL证书,下载解压,得到如下文件: 2.nodejs代码: // wss.js const fs = require('fs'); // 一些配置信息 const cfg = { p ...
- python练习:编写一个函数isIn,接受两个字符串作为参数,如果一个字符串是另一个字符串的一部分,返回True,否则返回False。
python练习:编写一个函数isIn,接受两个字符串作为参数,如果一个字符串是另一个字符串的一部分,返回True,否则返回False. 重难点:定义函数的方法.使用str类型的find()函数,可以 ...
- RemoteView设置高度
刚开始内层LinearLayout直接用 android:layout_height="match_parent" <?xml version="1.0" ...
- Python - input时的strip()
例如在读文件里面的文本时,每一行默认后面有\n或者有\r,所以strip用于去除首尾空格或者回车符.
- numpy.eye() 生成对角矩阵
numpy.eye(N,M=None, k=0, dtype=<type 'float'>) 关注第一个第三个参数就行了 第一个参数:输出方阵(行数=列数)的规模,即行数或列数 第三个参数 ...
- 如何让div中的img图片显示在div下面。
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>& ...
- Spring Boot Mybatis 使用教程
Mybatis 在当下互联网开发环境,十分重要.本章主要讲述 Mybatis 如何使用. 从本系列开始,都需要用到 mysql 数据库 和其他一些参考的数据库.请准备相关环节.本章需要以下环境支撑: ...
- ORM框架的概述
ORM: object relation mapping [对象][关系]映射 将对象 映射到 数据库中 类名 数据库表名 对象 ...