h5移动端开发经验积累篇
h5键盘控制
const el = document.documentElement || document.body
const originHeight = el.clientHeight
window.addEventListener('resize', () => {
const resizeHeight = el.clientHeight
if (resizeHeight < originHeight) {
console.log('键盘弹起')
} else {
console.log('键盘收起')
// const likeArray = document.getElementsByClassName('input-hook')
// Array.from(likeArray, input => input.blur())
}
}, false)
h5热启动控制
let i = 0
var hiddenProperty = 'hidden' in document ? 'hidden' :
'webkitHidden' in document ? 'webkitHidden' :
'mozHidden' in document ? 'mozHidden' :
null;
var visibilityChangeEvent = hiddenProperty.replace(/hidden/i, 'visibilitychange');
let that = this
var onVisibilityChange = function(){
if (!document[hiddenProperty]) {
// 进入页面
}else{
//离开页面
}
}
document.addEventListener(visibilityChangeEvent, onVisibilityChange);
h5光标控制
getCursor (el) {
if (window.getSelection) {
el.focus()
const sel = getSelection()
sel.selectAllChildren(el)
sel.collapseToEnd()
} else if (document.selection) {
var range = document.selection.createRange()// 创建选择对象
range.moveToElementText(el)// range定位到el
range.collapse(false)// 光标移至最后
range.select()
}
}
h5移动端开发经验积累篇的更多相关文章
- 基于SwiperJs的H5/移动端下拉刷新上拉加载更多的效果
最早时,公司的H5项目中曾用过点击一个"加载更多"的DOM元素来实现分页的功能,后来又用过网上有人写的一个上拉加载更多的插件,那个插件是页面将要滚动到底部时就自动请求数据并插入到页 ...
- 基于SwiperJs的H5/移动端下拉刷新上拉加载更多
最早时,公司的H5项目中曾用过点击一个"加载更多"的DOM元素来实现分页的功能,后来又用过网上有人写的一个上拉加载更多的插件,那个插件是页面将要滚动到底部时就自动请求数据并插入到页 ...
- 亲历H5移动端游戏微信支付接入及那些坑(二)——获取Openid和授权
第一篇中将一些坑说明,那么这篇开始正式进入接入步骤.具体的参数说明,我不会列出,毕竟微信官方文档都有,我想大家都看的懂,而且这接口也有可能微信会变动,所以不列出来,也是不想引起大家的误解,接入步骤只起 ...
- H5移动端手势密码组件
项目简介 最近参加了2017年360前端星计划,完成了一个有趣的UI组件开发大作业,借机和大家分享一下移动端开发的技术啦~~ 本项目采用原生JS和Canvas实现移动端手势密码组件,支持手势密码设置和 ...
- 超详细讲解H5移动端适配
前言 移动互联网发展至今,各种移动设备应运而生,但它们的物理分辨率可以说是五花八门,一般情况UI会为我们提供375尺寸的设计稿,所以为了让H5页面能够在这些不同的设备上尽量表现的一致,前端工程师就不得 ...
- 10天学会phpWeChat——第七天:创建一个自适应PC网站+H5移动端的模块
本教程基于phpWeChat核心框架1.1.0+版本.下载地址:http://s.phpwechat.com/app_38026ed22fc1a91d92b5d2ef93540f20 通过前面六讲的系 ...
- H5移动端知识点总结
H5移动端知识点总结 阅读目录 移动开发基本知识点 calc基本用法 box-sizing的理解及使用 理解display:box的布局 理解flex布局 Flex布局兼容知识点总结 回到顶部 移动开 ...
- 旅行app(游记、攻略、私人定制) | 顺便游旅行H5移动端实例
<顺便游旅行>是一款H5移动端旅行app,提供目的地(国内.国外.周边)搜索.旅游攻略查询.游记分享.私人定制4大模块,类似携程.同程.去哪儿.马蜂窝移动端,只不过顺便游app界面更为简洁 ...
- H5移动端项目案例、web手机微商城实战开发
自微信生态圈一步步强大后,关于移动端购物的趋势,逐渐成为大众关心的内容,目前市场上关于移动商城的制定就有大量版本,比如.微商城.移动商城.移动webAPP.微信商城各等各种定义层出不穷,这就对于移动端 ...
- web移动端开发经验总结
整理web移动端开发经验,部分内容借鉴于网上的博文. 1.meta标签 <meta name="viewport" content="width=device-wi ...
随机推荐
- git diff如何确定差异所在函数context
问题 在使用git diff 展示c/c++文件修改内容时,除了显示修改上下文外,输出还贴心的展示了修改所在的函数.尽管这个展示并不总是准确,但是能够做到大部分情况下准确也已经相当不错:是不是git内 ...
- SAP Process Orchestration (SAP PO): The Comprehensive Guide (2nd Edition) (SAP PRESS)
SAP Process Orchestration (SAP PO): The Comprehensive Guide (2nd Edition) (SAP PRESS) 有需要的联系 wx :erp ...
- 【C++复习】第八章 多态性(2)(虚函数,纯虚函数)
虚函数是动态绑定的基础,必须是非静态的成员函数 1.一般虚函数 1.1 引例 程序 运行结果&解释 #include <iostream> using namespace std; ...
- 【11】python之循环
Python 中的循环语句有 for 和 while. 1.while 循环 Python 中 while 语句的一般形式: while 判断条件(condition): 执行语句(statement ...
- feign的工作原理
1.开发微服务时,我们会在微服务的主程序入口添加EnableFignClient注解开启对Feign Client扫描加载处理,根据FignClient接口规范,定义接口并加上FignClient注解 ...
- python学习(day4)
1.selenium库 import selenium #使用selenium跳过登陆 '''selenium pip install selenium ''' from selenium impor ...
- 全局监控Promise错误
一.问题引入 Promise 在前端中的使用已经非常普遍了,但是许多开发者或许习惯了链式调用却忘了捕获 Promise 的错误了. 例如: function forgetCatchError () { ...
- 【Hive】数据倾斜原因及解决方法汇总
1)数据倾斜根本原因:由于数据分布不均匀,导致map端读取的数据分布不均匀(数据长尾分布),从而使得map处理的数据量差异过大. (2)解决思路:Hive是分阶段执行的,map处理数据量的差异取决于上 ...
- formidable处理文件上传的细节
koa在请求体的处理方面依赖于通用插件koa-bodyparser或者koa-body,前者比较小巧,内部使用了co-body库,可以处理一般的x-www-form-urlencoded格式的请求,但 ...
- js 导出excle文件(多页)
--前提:页面生成相应的表格数据 例如: <table id="a"> <tr> <th></th> </tr> ...