ios系统微信浏览器、safari浏览器中h5页面上拉下滑导致悬浮层脱离窗口的解决方法

ios偶现下拉出现黑底时,界面第一次上拉时拉不动的解决方案:

document.querySelector('#app').addEventListener('touchstart', function (ev) {
  let a=$('#app')[0].scrollTop
  if($('#app')[0].scrollTop <=0){
    $('#app')[0].scrollTop =1
  }
});

问题分析:首先要清楚出界是怎么发生的

&amp;amp;lt;img src="https://pic4.zhimg.com/50/7cffbf1b63e44fb551ad137ea0a1217a_hd.jpg" data-rawwidth="1020" data-rawheight="555" class="origin_image zh-lightbox-thumb" width="1020" data-original="https://pic4.zhimg.com/7cffbf1b63e44fb551ad137ea0a1217a_r.jpg"&amp;amp;gt;

不同情况解决方案不同,局部滚动可以在github 上搜索scrollfix这个组件,也可以在页面的固定区域禁止touchmove事件

&amp;amp;lt;img src="https://pic3.zhimg.com/50/7791b2bbf0cc43f77a772ed43c25ead3_hd.jpg" data-rawwidth="1105" data-rawheight="597" class="origin_image zh-lightbox-thumb" width="1105" data-original="https://pic3.zhimg.com/7791b2bbf0cc43f77a772ed43c25ead3_r.jpg"&amp;amp;gt;
全局滚动没有特别好的解决方案,可以考虑变成局部滚动,然后在按照上面的方法解决

具体的可以看下慕课网的视频课程我有我特色-开发眼中的前端交互(2)

微信H5单页面滑动的时候如何避免出界,出现头部和底部的黑底?的更多相关文章

  1. H5单页面手势滑屏切换原理

    H5单页面手势滑屏切换是采用HTML5 触摸事件(Touch) 和 CSS3动画(Transform,Transition)来实现的,效果图如下所示,本文简单说一下其实现原理和主要思路. 1.实现原理 ...

  2. 快速构建H5单页面切换骨架

    在Web App和Hybrid App横行的时代,为了拥有更好的用户体验,单页面应用顺势而生,单页面应用简称`SPA`,即Single Page Application,就是只有一个HTML页面的应用 ...

  3. 快速构建H5单页面切换应用

    在Web App和Hybrid App横行的时代,为了拥有更好的用户体验,单页面应用顺势而生,单页面应用简称`SPA`,即Single Page Application,就是只有一个HTML页面的应用 ...

  4. 详细解剖大型H5单页面应用的核心技术点

    项目 Xut.js 阐述下开发中一个比较核心的优化技术点,这是一套平台代码,并非某一个插件功能或者框架可以直接拿来使用,核心代码大概是6万行左右(不包含任何插件) .这也并非一个开源项目,不能商业使用 ...

  5. 详解H5中的history单页面,手动实现单页面开发,细说h5单页面原理

    就目前来看,前端的单页面开发占了很大一部分,一方面无刷新的切换增强了体验,并且浏览器记录依然存在,前进后退都没问题,在之前我们通地址栏中的hash改变来触发onhashchange方法来实现单页面应用 ...

  6. h5单页面布局

    前段时间做了一个PC端单页面应用 GitHub因为项目开始的比较仓促,加上本人前端经验特别少,虽然项目大体完成了,但是页面布局确成立它的硬伤...为了填补心里落差,专门做了一个h5的单页面布局,代码很 ...

  7. H5单页面架构:自定义路由 + requirejs + zepto + underscore

    angular优点: 强大的数据双向绑定 View界面层组件化 内置的强大服务(例如表单校验) 路由简单 angular缺点: 引入的js较大,对移动端来说有点吃不消 语法复杂,学习成本高 backb ...

  8. H5单页面架构:backbone + requirejs + zepto + underscore

    首先,来看看整个项目结构. 跟上一篇angular类似,libs里多了underscore和zepto.三个根目录文件: index.html:唯一的html main.js:requirejs的配置 ...

  9. H5单页面架构:requirejs + angular + angular-route

    说到项目架构,往往要考虑很多方面: 方便.例如使用jquery,必然比没有使用jquery方便很多,所以大部分网站都接入类似的库: 性能优化.包括加载速度.渲染效率: 代码管理.大型项目需要考虑代码的 ...

随机推荐

  1. haproxy简单配制for mysql

    1:下载haproxy 官网:http://www.haproxy.org/ 下载地址:http://www.haproxy.org/download/1.7/src/haproxy-1.7.8.ta ...

  2. Linux 启动盘命令

    linux下有很多工具可以制作启动盘, 例如 unetbootin 和 wubi, 不过我们可以使用linux下的一条命令来完成-----dd 操作方法: 1 卸载你的U盘 假设你的u盘对应的设备是s ...

  3. Log4.Net日志记录解析

    http://www.cnblogs.com/neekerss/archive/2011/01/04/1925171.html

  4. WebService的搭建,部署,简单应用和实体类结合使用

    WebService:一种跨编程语言和操作系统平台的远程调用技术,SOAP.WSDL(WebServicesDescriptionLanguage).UDDI(UniversalDescription ...

  5. Oracle 数据库 导入导出空表解决办法!

    expdp导出:(打开CMD) 先创建(任意盘符):\oracle_data 文件夹 1.sqlplus / as sysdba;2.create or replace directory d_nam ...

  6. vue学习第三天 ------ 临时笔记

    说明:之前两天属于入门,文章可能存在片段信息 vue2.x+webpack快速搭建前端项目框架详解 http://www.jb51.net/article/129463.htmVue cli + We ...

  7. css中的伪元素,我今天记住了!o~yeah

    对于伪类和伪元素,我如果要区别它们,一般是使用css中的手册来区分,平常时候也没特意去记,需要用到时打开手册“哦,这个是伪元素,这个是伪类”,我个人觉的某些东西你把它存在网上,不一定要存在头脑中.带着 ...

  8. 在Git上创建新分支(实用性高!!!)

    在github上创建仓库: Create a new repository on the command line touch README.md git init git add README.md ...

  9. DevExpress控件扩展之表达式编辑器

    业务需求: 业务工作中经常需要对表格中的数据进行处理,包括过滤.复合计算等.过滤需要有过滤条件,复合计算需要计算公式.这两种场景都需要一个表达式编辑器.GridControl自带过滤条件的表达式编辑器 ...

  10. ssh-agent && ssh-agent forward && SSH ProxyCommand

    http://blog.csdn.net/sdcxyz/article/details/41487897 https://developer.github.com/guides/using-ssh-a ...