web组件化开发第一天

技术选型

html5 css3 jq

应用的插件

FullPage.js

一、建一个测试页面,测试静态的功能

<!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;
            })

        });
时间: 2024-08-10 21:19:42

web组件化开发第一天的相关文章

【转】Web应用的组件化开发(一)

原文转自:http://blog.jobbole.com/56161/ 基本思路 1. 为什么要做组件化? 无论前端也好,后端也好,都是整个软件体系的一部分.软件产品也是产品,它的研发过程也必然是有其目的.绝大多数软件产品是追逐利润的,在产品目标确定的情况下,成本有两个途径来优化:减少部署成本,提高开发效率. 减少部署成本的方面,业界研究得非常多,比如近几年很流行的“去IOE”,就是很典型的,从一些费用较高的高性能产品迁移到开源的易替换的产品集群,又比如使用Linux + Mono来部署.net

Vue全家桶之组件化开发

作者 | Jeskson 掘金 | https://juejin.im/user/5a16e1f3f265da43128096cb 学习组件化开发,首先掌握组件化的开发思想,组件的注册方式,组件间的数据交互方式,组件插槽的用法,vue调式工具的用法,组件的方式来实现业务逻辑功能. 组件化开发思想,组件注册,组件调式,组件间的数据交互,组件插槽 组件化规范,就是多的可能性重用 全局组件注册语法 Vue.component(组件名称, { data: 组件数据, template: 组件模板内容 }

【组件化开发】前端进阶篇之如何编写可维护可升级的代码

前言 我还在携程的做业务的时候,每个看似简单的移动页面背后往往会隐藏5个以上的数据请求,其中最过复杂的当属机票与酒店的订单填写业务代码 这里先看看比较“简单”的机票代码: 然后看看稍微复杂的酒店业务逻辑: 机票一个页面的代码量达到了5000行代码,而酒店的代码竟然超过了8000行,这里还不包括模板(html)文件!!! 然后初略看了机票的代码,就该页面可能发生的接口请求有19个之多!!!而酒店的的交互DOM事件基本多到了令人发指的地步: 当然,机票团队的交互DOM事件已经多到了我笔记本不能截图了

可灵活装配的web组件化企业应用架构

可灵活装配的web组件化企业应用架构 一. 问题和目标 B/S架构的web企业应用越来越流行,为解决企业用户灵活多变的业务需求和业务流程,将不同的业务应用开发为web组件,实现用户业务处理界面和业务流程的灵活配置和部署,基于SOA的服务思想设计企业web组件化应用架构. 其核心思想是: (1) 用户界面可装配 用户的业务操作界面可以通过管理员或者自己通过动态配置的方式形成,称之为视图.一个用户可以用不同的视图来处理不同的业务,或者设计自己个性化的视图满足个性化的需要. (2) 业务流程可装配 企

Android适合组件化开发的路由框架:Launch

1.概述 最近越来越不想写代码了,特别是一些重复性的代码,比如由于每次启动一个 Activity,我们都会很习惯的在 Activity 中写下: public static void launch(Activity activity) { Intent intent = new Intent(); intent.setClass(activity, xxxActivity.class); activity.startActivity(); } 已经有两年Android开发经验的我掐指一算,好像有

组件化开发的一些思考

看了limboy和Casa的文章,关于组件化开发,整理了一下思路. 1.为什么要进行组件化开发? 一个产品,在最开始的时候,由于业务简单,一般是直接在一个工程里开发.这种方式,在产品起步阶段,是没有问题的,也能够有效的保证开发效率.但随着业务的不断发展,代码量不断增多,开发团队不断壮大,最后的模块间关系会发展成如下图所示: 从上图中可以看到,这种单一工程开发模式存在一些弊端: 模块间耦合严重(模块是指较大粒度的业务功能.比如说微信,我们根据首页Tab,可以分为四大模块:会话.通讯录.发现.我).

学习 | jQuery移动端页面组件化开发(一)

最近在学习移动端组件化开发web页面,其中有好多小细节,值的去思考. 主要介绍JS的思路,具体的代码就不贴了,主要是想表达出一种思路 总体来说 1.入口文件,在入口文件中导入插件,插件样式,jquery // 首先要有config参数 var config ={ // config } // 进行实例化 var H5 = new H5Component(config) // 插入DOM中 $(".container").append(H5) // 触发组件中的自定义事件 $("

vuex在组件化开发中的简单应用小例子

首先, 介绍一下vuex是个什么东西, 个人理解来说, vuex就是一个状态管理的东西, 它里面有且仅有一个Store仓库, 这个仓库里面存放着一些变量, 为什么要有这么一个变量呢, 用过vue的人肯定都清除, 父子组件之间的通讯传值是个比较麻烦的事情, 特别是, 嵌套组件特别多的时候, 这种情况下, 一级一级地传递下去十分麻烦, 还有就是兄弟组件之间的传值也一样麻烦. 而vuex中的Store这个仓库, 就能够为我们将放在这个仓库中的值, 分发给整个项目下的所有组件, 也就是说是, 不用一级一

AppBoxFuture(六): 前端组件化开发

??前面几篇都是在介绍结构化与非结构化的数据存储,本篇换换口味介绍一下框架是如何实现前端组件化开发的.首先得感谢Vue.ElementUI等优秀的前端开源项目,这些项目帮助作者快速实现了框架的两个前端工程(IDE及Web应用)的开发. ??当初框架的设计目标是:前端.后端.存储端统统一锅端,为什么这么设计,一方面是想减少开发人员对于开发环境及各类工具的安装配置时间,另一方面是想消除各端之间的集成调试问题,使开发人员更多的关注数据结构.业务逻辑.用户界面的设计与开发.为了达成这一目标,作者在框架的