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

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

  }

});

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

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


全局滚动没有特别好的解决方案,可以考虑变成局部滚动,然后在按照上面的方法解决

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

原文地址:https://www.cnblogs.com/zhaoxiaobei/p/9020130.html

时间: 2024-10-28 20:47:55

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

移动端H5单页面跟随手指滑动切换组件PageSlider

转载地址:http://www.ifrans.cn/pageslider/?replytocom=38914 PageSlider PageSlider 是一个基于zepto.js用于实现H5单页面跟随手指上下滑动切换的组件,支持通过transform3D启动GPU加速,目前仅支持移动端touch设备. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name=&

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

H5单页面手势滑屏切换是采用HTML5 触摸事件(Touch) 和 CSS3动画(Transform,Transition)来实现的,效果图如下所示,本文简单说一下其实现原理和主要思路. 1.实现原理 假设有5个页面,每个页面占屏幕100%宽,则创建一个DIV容器viewport,将其宽度(width) 设置为500%,然后将5个页面装入容器中,并让这5个页面平分整个容器,最后将容器的默认位置设置为0,overflow设置为hidden,这样屏幕就默认显示第一个页面. <div id="v

实战经验:快速构建H5单页面切换骨架

在Web App和Hybrid App横行的时代,为了拥有更好的用户体验,单页面应用顺势而生,单页面应用简称`SPA`,即Single Page Application,就是只有一个HTML页面的应用程序,应用中所有的视图都包含在这个HTML页面中,并通过JavaScript控制相关视图的显示和隐藏,这种模式可以让用户在Web App感受Native App的速度和流畅.本篇文章的目的就是教你如何来快速的构建一个H5单页面切换骨架. 一. 页面设计 在构建SPA应用时,首先要确定你的应用需要包含

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

原文  http://www.cnblogs.com/onepixel/p/5156442.html 在Web App和Hybrid App横行的时代,为了拥有更好的用户体验,单页面应用顺势而生,单页面应用简称`SPA`,即Single Page Application,就是只有一个HTML页面的应用程序,应用中所有的视图都包含在这个HTML页面中,并通过JavaScript控制相关视图的显示和隐藏,这种模式可以让用户在Web App感受Native App的速度和流畅.本篇文章的目的就是教你如

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

阐述下项目 Xut.js 开发中一个比较核心的优化技术点,这是一套平台代码,并非某一个插件功能或者框架可以直接拿来使用,核心代码大概是6万行左右(不包含任何插件) .这也并非一个开源项目,不能商业使用,只是为了作者开发方便同步修改代码而上传的源码 描述下,项目提出的概念“无需程序员编程”可批量制作app应用.分2大块,1块是客户端(PPT),默认扩展插件提供用户编辑的界面,平台会把设计逻辑与界面数据编译成前端数据资源包(前端能处理的js.css.图片等资源了),另一个大块就是纯前端部分(Xut.

h5单页面布局

前段时间做了一个PC端单页面应用 GitHub因为项目开始的比较仓促,加上本人前端经验特别少,虽然项目大体完成了,但是页面布局确成立它的硬伤...为了填补心里落差,专门做了一个h5的单页面布局,代码很简单,大牛请绕过. 演示:Demo-Oline 页面兼容 IE11/Chrome/FireFox(IE10以下未测试)随浏览器大小自动缩放,不会出现可恶的滚动条 index.html <!DOCTYPE html> <html lang="en"> <head

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

说到项目架构,往往要考虑很多方面: 方便.例如使用jquery,必然比没有使用jquery方便很多,所以大部分网站都接入类似的库: 性能优化.包括加载速度.渲染效率: 代码管理.大型项目需要考虑代码的模块化,模块间低耦合高内聚,目的就为了团队合作效率: 可扩展性.这个不用说了. 学习成本.一个框架再好,团队新成员难以掌握,学习难度大,结果很容易造成代码混乱. 而根据实际经验来看,方便是必然首要地位,除此之外,应该是代码管理了.团队合作过程中,各种协作,代码冲突等等,都会给一个优秀框架带来各种奇怪

h5 slider页面滑动相关问题

1.touchend事件不能触发? a.在touchstart中添加event.preventDefault(),该方法会阻止元素的默认事件,如<a>标签的超链接无法响应,但是click事件可以通过tap事件代替. b.在touchmove中添加event.preventDefault(),该方法在touchstart的时候不会阻止默认事件,所以可以使用click和a标签的超链接 2.在iphone手机中无法触发iframe的播放按钮? 原因:translate3d会导致页面的焦点错误 方法:

H5禁止页面滑动/滚动

禁止页面滚动--完美解决方案,滚动条显示与否,手持设备兼容与否 禁止页面滚动 有三种方法 1,依靠css 将页面 document.documentElement.style.overflow='hidden'; document.body.style.overflow='hidden';//手机版设置这个. 如果设置了如上,页面的滚动条将会消失,此时鼠标滚轮失效. 但是 你用键盘的 上下左右键,你会发现,页面仍然可以滚动. 别着急 往下看 2,在 1 的基础上 添加 js功能 var move