学习 | jQuery移动端页面组件化开发(一)
最近在学习移动端组件化开发web页面,其中有好多小细节,值的去思考。
主要介绍JS的思路,具体的代码就不贴了,主要是想表达出一种思路
总体来说
1.入口文件,在入口文件中导入插件,插件样式,jquery
// 首先要有config参数
var config ={
// config
}
// 进行实例化
var H5 = new H5Component(config)
// 插入DOM中
$(".container").append(H5)
// 触发组件中的自定义事件
$("body").on("click",function(){
$(".component").trigger(event)
})
2.组件.js
var H5ComponentBase = function(config){
// 初始化形参
var config = config || {} ;
// 设置class id等信息
// ...
// 建立dom节点
var component = $("<div></div>");
// css样式(行内样式)
// ...
// 触发自定义事件时
// ...
// 返回这个dom节点
return component;
}
引发的思考
1.如何根据ui的图片适应不同的设备
比如说完全显示图片而不是自己再给img或者背景设置宽高,或者设置背景的left和top
css
.h5_component_class_base{
backgroundImage:url("./bg.png");
background-size: 100%;
background-repeat: no-repeat;
}
当然你也可以在js中手动添加backgroundImage或样式
但是得注意一个问题, backgroundImage:url("./bg.png") 与 background:url("./bg.png")都能让图片加载出来,但是用background:url后设置background-size:100%无法完全显示图片,这个问题在之前碰到过
css中background是背景设置的集合,而background-image只是设置背景的图片样式。
background后可加背景颜色,背景图片及图片排列样式,和结构对齐样式,可以说控制了整个背景的属性。
不要替换这两个,否则就会踩坑
2.居中的问题
之前总结了很多居中的问题,但是多了反而不记得了,flex居中,float居中等
水平居中,设置dom的position:absolute,left:50% margin-left 为负的真实宽度的一半,所谓真实宽度就是页面上显示的宽度,UI给的psd图一般是以
iPhone5宽度做的,需要把psd的宽高除2才是真实宽高,这就是水平居中的做法,同理垂直居中也是这样。
css
.test{
position:absolute;
//水平居中
left :50%;
margin-left: 1/2*width*-1;
//垂直居中
top :50%;
margin-right:1/2*height*-1;
}
3.自定义事件的创建与引用
创建自定义事件
在入口文件中当点击body时创建自定义事件,也可以是其他事件触发该自定义事件
var flag = true;
$("body").on("click",function(){
flag ! =flag;
$(".dom").trigger(flag?"event1":"event2");
})
触发自定义事件
在插件中执行
DOM.on("event1",function(){
// 执行后的操作
})
DOM.on("event2",function(){
// 执行后的操作
})
学习 | jQuery移动端页面组件化开发(一)的更多相关文章
- ReactNative新手学习之路04 组件化开发轮播图swiper支持安卓和IOS
react native 新手之路04 组件化开发轮播图swiper支持安卓和IOS npm install react-native-carousel --save git 地址Properties ...
- Vue学习笔记-Vue.js-2.X 学习(二)===>组件化开发
===重点重点开始 ========================== (三) 组件化开发 1.创建组件构造器: Vue.extends() 2.注册组件: Vue.component() 3.使用 ...
- vue.js组件化开发实践
前言 公司目前制作一个H5活动,特别是有一定统一结构的活动,都要码一个重复的轮子.后来接到一个基于模板的活动设计系统的需求,便有了下面的内容.借油开车. 组件化 需求一到,接就是怎么实现,技术选型自然 ...
- vue组件化开发实践
前言 公司目前制作一个H5活动,特别是有一定统一结构的活动,都要码一个重复的轮子.后来接到一个基于模板的活动设计系统的需求,便有了一下的内容.首先会对使用Vue进行开发的一些前期需要的技术储备进行简单 ...
- 【转】Web应用的组件化开发(一)
原文转自:http://blog.jobbole.com/56161/ 基本思路 1. 为什么要做组件化? 无论前端也好,后端也好,都是整个软件体系的一部分.软件产品也是产品,它的研发过程也必然是有其 ...
- Webpack+Vue+ES6 前端组件化开发mobile-multi-page应用实战总结
本文版权归博客园和作者吴双本人共同所有 转载和爬虫请注明原文地址 www.cnblogs.com/tdws 一.写在前面 项目上线有一段时间了,一个基于webpack+vue+ES6的手机端多页面应用 ...
- Webpack+Vue+ES6 前端组件化开发mobile-multi-page应用实战总结和踩坑
本文版权归博客园和作者吴双本人共同所有 转载和爬虫请注明原文地址 www.cnblogs.com/tdws 一.写在前面 项目上线有一段时间了,一个基于webpack+vue+ES6的手机端多页面应用 ...
- 从徐飞的文章《Web应用的组件化开发(一)中窥视web应用开发的历史
Web应用的组件化开发(一) 原文来自 徐飞 基本思路 1. 为什么要做组件化? 无论前端也好,后端也好,都是整个软件体系的一部分.软件产品也是产品,它的研发过程也必然是有其目的.绝大多数软件产品是追 ...
- Vue的指令以及组件化开发
一. 自定义指令 如何: 1. 创建指令 Vue.directive("指令名",{ inserted(elem){//指令所在的元素被加载到DOM树上后自动执行指令 //elem ...
随机推荐
- 用过 mongodb 吧, 这三个大坑踩过吗?
一:背景 1. 讲故事 前段时间有位朋友在微信群问,在向 mongodb 中插入的时间为啥取出来的时候少了 8 个小时,8 在时间处理上是一个非常敏感的数字,又吉利又是一个普适的话题,后来我想想初次使 ...
- vob文件转mkv
下载了一部片子,是所谓的dvd原盘,就是用软件将dvd碟片rip下来,视频文件是一堆vob文件.觉得这片子没必要看原盘,想压缩成mkv以减小体积,同时保持合适的清晰度. 首先想到用handbrake这 ...
- DNF手游公测或将只有安卓版 iOS系统怎么办?
DNF手游在8月10号确定延期后,目前还不知道新的上线时间.玩家都很关心DNF手游新的公测时间,DNF手游官网的预约数据也是不断突破新高,最终突破了五千万!我们目前拿到的小道消息,DNF手游会在9月1 ...
- generate_fixed_frame()方法生成Java方法栈帧
在从generate_normal_entry()函数调用generate_fixed_frame()函数时的栈与寄存器的状态如下: 栈的状态如下图所示. 各个寄存器的状态如下所示. rax: ret ...
- java反序列化——XMLDecoder反序列化漏洞
本文首发于“合天智汇”公众号 作者:Fortheone 前言 最近学习java反序列化学到了weblogic部分,weblogic之前的两个反序列化漏洞不涉及T3协议之类的,只是涉及到了XMLDeco ...
- ORB-SLAM: A Versatile and Accurate Monocular SLAM System 笔记(二)
4. 自动地图初始化 地图初始化的目标是两个帧之间相对位姿来三角化一系列的点云(riangulate an initial set of map points),这个操作是独立与场景且不需要人为的干预 ...
- “大地主”IPV6的邻居发现BD
引入 因为当初设计IPv4的时候,没有考虑到网络发展的速度这么快,到今现在IPv4有很多不足,32位的 IPv4地址不够用,现在128位的IPv6能完全够用,据说可以地球上每一粒沙子都分配一个地址,而 ...
- 力扣Leetcode 199. 二叉树的右视图
199. 二叉树的右视图 给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值. 示例: 输入: [1,2,3,null,5,null,4] 输出: [1, 3, ...
- Istio可观测性
Istio可观测性 Istio的可观测性包括metrics,日志,分布式链路跟踪以及可视化展示.下面主要介绍如何在istio中部署基于Prometheus的metrics监控,基于jaeger的链路跟 ...
- Unity可编程管线的顶点光照Shader
UnityCG.cginc有一个叫ShadeVertexLightsFull的函数可以用来计算顶点光照. 源码如下: // Used in Vertex pass: Calculates diffus ...