h5 穿透滚动】的更多相关文章

引子 h5 页面有弹窗浮层时,浮层之下若产生了滚动,滑动浮层时会让其产生滚动.这是示例页面,移动端访问如下: Origin My GitHub 原因 找到的信息里面有两种说法: 使用了 -webkit-overflow-scrolling: touch ,另外这个不是标准属性. 浮层也是页面的一个元素,浮层的展示正常,页面中的其它元素按照本来的方式展示运作.也就是说这是一个正常的现象,只不过是我们不想要这种效果. 针对第一种说法,进行测试验证,这是示例页面,移动端访问如下: 发现:跟 -webk…
问题:在H5中,我们有这样的需求:例如有列表的时候,滚动到底部时,需要加载更多. 解决方案:可以采用window的滚动事件进行处理 分析:如果滚动是针对整个屏幕而言的(不针对于某个界面小块),那么这个应该是是成立的:屏幕的高度+最大滚动的距离 = 内容的高度 代码实现: <html> <head> <meta charset="UTF-8"> <title>监听滚动到底部滚动底部</title> <style> .…
$(function(){ console.log($('html,body').scrollTop());  //记录滚动高度(滚动前) }) $('html,body').scroll(function(e){ console.log("发生滚动事件"): console.log($(this).scrollTop());   //记录滚动高度(滚动后) }) $('html,body').scrollTop(0) ;    //回至顶部…
使用原生vue实现瀑布流,发现无法实现小程序那种滚动到地步触发加载效果,只能自己研究了 实现效果: 实现代码: 首先添加监听滚动事件 mounted() { window.addEventListener("scroll", this.scrollBottom, true); }, 滚动事件实现: scrollBottom() { // 滚动到页面底部时 const el = document.getElementById("content"); const win…
<marquee>啦啦啦,Hello World</marquee>…
加入-webkit-overflow-scrolling: touch;即可…
h5列表滚动加载数据很常见,以下分享下今天做的案例: 前言 这个效果实现需要知道三个参数 1. scrollTop -- 滚动条距离顶部的高度 2. scrollHeight -- 当前页面的总高度(body总高度) 3. clientHeight -- 当前可视的页面高度(设备窗口的高度) html <!--加载提示框--> <div id="loading"></div> css #loading { height: 32px; line-hei…
h5新增样式 section标签 使用demo //h5新增属性 h5新增滚动的标签 <marquee> <div style="padding-left: 20px;margin-top: 10px;color: #fff;"> <marquee behavior="scroll" bgcolor='red' direction="left" width='100%' height='30'>单方向循置参数的…
1.HTML 全局事件属性 HTML4 的新特性之一就是可以使 HTML 事件触发浏览器中的行为,比方说当用户点击某个 HTML 元素时启动一段 JavaScript,在 HTML5 中还增加了一些新的事件属性. HTML 事件就是发生在 HTML 元素上的事情.当在 HTML 页面中使用 JavaScript 时, JavaScript 就可以触发这些事件.HTML 事件可以是浏览器行为,也可以是用户行为.浏览器行为比如:页面加载时触发事件,页面关闭时触发事件等等.用户行为比如:点击按钮触发事…
以下是本次项目的代码链接和预览链接:    代码链接:https://github.com/Leonardo-zyh/Vue-youzanStore    预览链接:https://leonardo-zyh.github.io/Vue-youzanStore/dist/ 首先这次重构有赞商城使用的是一个多页面应用的重构思路,因此在进行重构之前要对项目文件进行一些配置和调整,具体的操作的话可以点击以下这个链接进行查看:基于vue-cli搭建一个多页面应用 在完成了多页面应用的基础结构的搭建之后,会…
可能我们经常做这样的弹窗对吧,兴许我们绝对很简单,两下搞定: 弹窗的页面结构代码: <!-- 弹窗模块 引用时移除static_tip类--> <div class="mask" ontouchstart = "return false" style="display:none"></div> <div class="main_venue_tip" style="displa…
最近遇到一个很 巨恶心的问题  ios10下面 页面弹窗有滚动穿透问题 各种google 终于找到了答案,但是体验还不是很好,基本能忍受 废话不多说,上方法 最后终于想到一个处理方案,就是第一种方案的升级版,需要配合JS,大致思路是弹窗显示时JS读取这时页面的scrollTop,然后将主体内容position:fixed,top设为scrollTop的负值,这样可以从根本上固定下层内容,然后隐藏弹窗时再将主体内容position:static;scrollTop设回来.完美解决问题.经测试这种方…
最近的一个H5活动中有一个是点击[分享]弹窗指引遮罩弹窗引导用户进行分享,但突然发现弹出弹窗的时候下层仍然可以进行滑动,这个问题是个H5经久不衰讨论的问题,重点是我这个页面在安卓系统上有明显的滑动闪烁问题,所以不得不进行解决,具体导致闪烁问题待排查,这里是使用了规避方法,即当弹出弹窗的时候固定弹窗,参考:https://juejin.im/post/5c4974f0518825260c5d1851 这里先记录最终解决方案,是使用当弹窗出现的时候将页面body的position设置为fixed并记…
原文链接:https://github.com/AlloyTeam/AlloyTouch/wiki/AlloyTouch-FullPage-Plugin 先验货 插件代码可以在这里找到. 注意,虽然是扫码体验,但是AlloyTouch.FullPage特意对鼠标滚轮事件进行了兼容,所以PC上的全屏滚动页面也可以使用它来快速制作. 使用姿势 在设计全屏滚动插件的时候,希望开发者几乎: 不用写任何脚本快速生成精致H5 支持PC滚轮和移动触摸 酷炫的转场动效 灵活的时间轴管理 一切皆可配置 但是不写脚…
在没结合css3的transform实现平滑过渡前,我都是用的jquery的animate方法,此方法在PC端基本看不出来有稍微卡顿的现象,但是在性能不高的手机上使用该方法,就会有明显的卡顿现象,不够平滑,而且,在移动端H5页面中很多人使用的js库是zeptoJS,所以要想使用animate方法还要额外引用一个fx.js的插件,这无疑又增加了页面的体积,增加了服务器的请求负担,这显然不是最好的解决办法.那么,今天,本人就给大家分享一个利用css3的transform并结合transition来实…
1.slip.js + rem.js 主要插件: slip.js github: https://github.com/binnng/slip.js rem.js 插件为阿里淘宝的 rem 实现的基础实现,源码在下方 dy_h5_template 项目内有单独的文件,在页面开头引入即可,需要配合预处理样式语言如 Less,Scss 使用 2.FullPage + pageResponse 实现方式 全屏滚动插件背景铺满全屏,内容整体缩放 滑屏 FullPagehttps://github.com…
前言: 因最近移动端开发过程中遇到一个运营提出的所谓技术难点需求,对于原生APP来说轻而易举,毕竟自己的APP用户操作指哪打哪,但是H5该怎么做?H5就实现不了么?对于一个爱研究攻克这些前端棘手问题的我来说,我没尝试过,我是拒绝对提出需求者说实现不了,做不到之类的. 是什么需求呢?--需求方要求用户在一个列表页浏览时,点击一个列表进入详情页,返回要求记录用户刚刚浏览的位置,而不是重新刷新页面到了页面顶部.(ps:如果用户好不容易翻到了第几十.几百乃至几千条时,难道要用户再重头开始?可能这个时候跳…
如果滚动页面也是DOM没有解决的一个问题.为了解决这个问题,浏览器实现了一下方法,以方便开发人员如何更好的控制页面的滚动.在各种专有方法中,HTML5选择了scrollIntoView()作为标准方法.scrollIntoView()可以在所有的HTML元素上调用,通过滚动浏览器窗口或某个容器元素,调用元素就可以出现在视窗中.如果给该方法传入true作为参数,或者不传入任何参数,那么窗口滚动之后会让调动元素顶部和视窗顶部尽可能齐平.如果传入false作为参数,调用元素会尽可能全部出现在视口中(可…
  概述 JRedu 随着前端技术的发展,越来越多的H5技术被应用到实际开发中,尤其是js插件更是无处不用,本章节我们主要分享下如何去自己封装一个滚动轮播插件. 1效果图如下: 2主要功能   支持超简单使用 支持数据类型json对象 支持自动切换 支持前后翻页 支持分页点图 支持动画过渡 ... 后续功能可以自己酌情添加 3实现方式 首先 ,我们需要一个容器,在这里只需要一个div就可以了,通过div的id就可以识别该容器,代码如下 <div id="div1" style=&…
前言: 因最近移动端开发过程中遇到一个运营提出的所谓技术难点需求,对于原生APP来说轻而易举,毕竟自己的APP用户操作指哪打哪,但是H5该怎么做?H5就实现不了么?对于一个爱研究攻克这些前端棘手问题的我来说,我没尝试过,我是拒绝对提出需求者说实现不了,做不到之类的. 是什么需求呢?--需求方要求用户在一个列表页浏览时,点击一个列表进入详情页,返回要求记录用户刚刚浏览的位置,而不是重新刷新页面到了页面顶部.(ps:如果用户好不容易翻到了第几十.几百乃至几千条时,难道要用户再重头开始?可能这个时候跳…
背景: 弹层里边有可滚动区域时,在移动端的坑我就不多说了. 找了很多解决滚动穿透的方案,最终都不能完美解决. 一气之下自己js撸了一个. 效果图: 原理: 1.解决滚动穿透:通过给弹层绑定touchmove和mousewheel事件,取消默认行为实现. 2.取消默认行为后不能滚动:给需要滚动展示的区域绑定touchstart.touchmove和mousewheel事件,监听触发区域的Y值,对应修改可滚动区域的translateY值,实现滚动效果. 缺点/不足:滑动起来略显卡顿,用户体验不好,有…
bootsrtap h5 移动版页面 在苹果手机ios滑动上下拉动滚动卡顿问题解决方法 bootsrtap框架做的h5页面,在android手机下没有卡顿问题,在苹果手机就一直存在这问题,开始毫无头绪,经过多次测试,更换版本,查找bootsrtap官方案例网站最终确定不是 bootsrtap框架本身的问题,然后排除网页结果问题,布局问题,js问题,样式问题,内容长度问题,所以当时想到的地方都改过测试了也没有解决. 最后只能认为的苹果手机ios的兼容性问题了,按照苹果手机 ios 拉动 卡顿 触屏…
使用姿势 在设计全屏滚动插件的时候,希望开发者几乎: 不用写任何脚本快速生成精致H5 支持PC滚轮和移动触摸 酷炫的转场动效 灵活的时间轴管理 一切皆可配置 但是不写脚本肯定没有灵活性咯?!不是的.这里不仅仅可以通过在HTML配置一些参数,还可通过插件的回调函数进行一些逻辑注入.就拿上面大家扫码看到的例子的部分HTML来分析下AlloyTouch.FullPage的使用姿势: <div id="fullpage"> <div> <div> <d…
前言原理源码使用方式补充CountUp.js 前言 会有这么一种情况,H5页面需要进行数字统计展示,以此来强调产品or工作的成果.如果只是静态显示一个数字,总是感觉生硬.对比如下: 是不是瞬间高大上了呢? 这个效果我是在开源中国上找到的 https://www.oschina.net/code/snippet_2380148_52928 感谢馒头同学. 原理 1.如上图可知,代码将每个数字生成了一竖0-9和小数点的队列.如果需要滚动999,那么就会生成3竖 2.由于有height的限制,所以通过…
问题描述 项目开发遇到一个ios独有的问题,在wkwebview中稳定复现 问题: 弹出一个蒙版,当在蒙版上面滑动的时候蒙版后面的内容滚动了 这当然是ios的bug,但是经过我们测试iphone7也会复现这个问题,所以没办法需要兼容. vue 弹框产生的滚动穿透问题 百度了下好多思路 方法1: 直接禁用滚动容器的overflow,然后记录scrollTop并恢复,这种方法不适合我们当前场景. 1. 浮层的入口有多个页面 2. 浮层后面可滚动的容器有多个(3个) 3. 滚动容器有横向和纵向滚动,很…
同事的分享,记录下来. 代码如下: css: body.modal-open { position: fixed; width: 100%; } js: // 兼容低版本 document.scrollingElement写法 (function () { if (document.scrollingElement) { return; } var element = null; function scrollingElement () { if (element) { return eleme…
前言 相信能看到这篇文章的你,已经是遇到了这个问题.我就不gif展示问题效果了. 鉴于此问题是面试的常客,故特地针对滚动穿透这个疑难杂症,整理了六个解决方案. 各方法操作难易不同,分别针对弹层和body是否超出一屏可滚动等不同情况.看官可以对症下药. 目录 1 body无滚动 + 弹层无滚动[css-超出隐藏] 2 body无滚动 + 弹层内部滚动[css-弹框超出滚动] 3 body滚动 + 弹层无滚动[js-阻止弹层中touchmove的默认行为] 4 body滚动 + 弹层内部滚动[js-…
小程序中有横向滚动的swiper,H5中目前得手动实现. 实现方法如下: 外层需要设置: overflow: scroll;white-space: nowrap; 内层需要设置: display: inline-block; <div class="noticeListBox"> <div class="noticeList" v-for="(item,index) in 10"> </div> </d…
明天就六一儿童了(放假了),在这里提前祝大家周末快乐,每逢节假日公司必然会推出h5活动页的需求,这次六一儿童节也不例外,产品这次倒是没提什么互动效果需求,只不过根据UI妹子给的设计图,图片与图片中颜色区分过于明显,所以自己感觉还是做全屏滚动效果比较好看,因此在这里做个总结......  方法一: 效果图展示(动态图用的是LICEcap软件): 全局代码展示: <!DOCTYPE html> <html> <head> <meta charset="UTF…
概述 今天在做 Vue 移动端项目的时候遇到了滚动穿透问题,在网上查资料后,选取了我觉得最好的方法,记录下来供以后开发时参考,相信对其他人也有用. 上层无需滚动 如果上层无需滚动的话,直接屏蔽上层的 touchmove 事件即可.示例如下: <div @touchmove.prevent> 我是里面的内容 </div> 上层需要滚动 如果上层需要滚动的话,那么固定的时候先获取 body 的滑动距离,然后用 fixed 固定,用 top 模拟滚动距离:不固定的时候用获取 top 的值…