首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

移动滚动研究

移动web滚动问题 在移动如果使用局部滚动,意思就是我们的滚动在一个固定宽高的div内触发,将该div设置成overflow:scroll/auto;来形成div内部的滚动,这时我们监听div的onscroll...方案比较 第一种方案由于惯性滚动的时机时由js自己控制所以可以拿到滚动触发阶段的scrolltop值,并且滚动的回调函数onscroll在滚动的阶段都会触发。...在使用模拟滚动时,浏览器在js层面会消耗更多的性能去改变dom元素的位置,在dom复杂层级深的页面更为高,所以在长列表滚动时还要使用正常滚动更好。...又或者下滑时候的数据的 ajax 请求加载也是同理。...使用rAF(requestAnimationFrame)触发滚动事件 如果页面只需要兼容高版本浏览器或应用在移动,又或者页面需要追求高精度的效果,那么可以使用浏览器的原生方法 rAF(requestAnimationFrame

3.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

js - 移动的超出滚动功能,附带滚动条,可解决弹层中滚动穿透问题。

背景: 弹层里边有可滚动区域时,在移动的坑我就不多说了。 找了很多解决滚动穿透的方案,最终都不能完美解决。 一气之下自己js撸了一个。 效果图: ?...原理: 1、解决滚动穿透:通过给弹层绑定touchmove和mousewheel事件,取消默认行为实现。...2、取消默认行为后不能滚动:给需要滚动展示的区域绑定touchstart、touchmove和mousewheel事件,监听触发区域的Y值,对应修改可滚动区域的translateY值,实现滚动效果。...,对应元素向上回看 */ 40 transY = 0; //到顶 41 } else { 42 /* 鼠标向上移动,对应元素向下翻看...touchToBottom(params.scroll, params.bar); 117 } 118 }); 119 } 120 完整demo见github: 移动超出滚动效果

7.2K10

移动框架 滚动类 iScroll5

HTML5学堂:移动开发中,经常遇到需要模拟APP的效果header或是footer固定住,里面的内容区域实现滚动。但是对低端手机单纯使用CSS是兼容不了,需要JavaScript的支持。...本文讲解了使用iScroll5的使用方法,解决了固定高度的容器内滚动内容。...iscroll诞生的意义 之所以iscroll会诞生,主要是因为无论是在以前的iphone、ipod、android 或是更早前的移动webkit都没有提供一种原生的方式来支持在一个固定高度的容器内滚动内容...如果希望ul中的内容发生滚动,需要在外层添加一层,同时将iScroll的功能添加到最外层上。...scrollToElement(el, time, offsetX, offsetY, easing) 滚动到某个元素 offsetx和offsety定义像素偏移,这样你可以滚动到元素加上一个指定的偏移量

1.2K90

web移动:touchmove实现局部滚动

总结一下最近项目用到的一个功能点,具体要求如下: body中会呈现一个可滚动的长页面,在点击某个按钮的时候,会出现一个弹出框,由于弹出框的内容较长,会出现滚动条,但是要保证位于弹框下部的body在弹框滚动的时候不触发滚动事件...touchmove事件的要点主要是移动方向的判断和滑动边界的判断 移动方向的判断 var replyListTop=parseInt($(".replyList").css("top")...if(moveY < 0){ } //向下滑动 else if(moveY > 0){ } }); 移动边界的判断 A.向上滑动到上边界...true:false B.向下滑动到下边界 由于滚动区域是包裹在replyContainer里面的,所以滚动区域的初始top值为标题区域的高度,只要标题区域的高度 == 滚动区域的top值...replyListTop : 3.2*fontHeight; } js完整代码 function replyCengShow(){ var startX; var startY

1.3K20

从 antDesign 来窥探移动滚动穿透”行为

简单直译过来是说默认情况下,当到达页面的顶部或底部(或其他滚动区域)时,移动浏览器倾向于提供“弹跳”效果甚至页面刷新。...在移动,我们完全可以使用一种通用的解决方案来解决上述造成“滚动穿透”意外行为: 无论元素是否可以滚动时,每次元素的拖拽事件触发时我们只需要进行判断: 寻找当前触发 touchMove 事件 event.target...通用 Hook 方案 useTouch 拖动位置 首先,我们先来看一个有关于移动滚动的简单 Hook: import { useRef } from 'react' const MIN_DISTANCE...上述的代码仍然是按照我们在文章开头讲述的解决思路来解决移动滚动链接的意外行为。...为 body 添加 overflow:hidden 其实在移动并没什么太大的实际作用,我们 touchmove 事件中的处理逻辑对于阻止意外滚动行为的发生已经完全足够了。

39120

【总结】1823- 移动滚动穿透与滚动溢出解决方案

滚动穿透 问题描述 在移动 WEB 开发的时候(小程序也雷同),如上录屏所示,如果页面超过一屏高度出现滚动条时,在 fixed 定位的弹窗遮罩层上进行滑动,它下面的内容也会跟着一起滚动,看起来好像事件穿透到下面的...问题原因 能够猜想是文档(document)的滚动事件被触发了,如果能禁用滚动事件就好办了。...问题描述 如上录屏所示,弹窗内也含有滚动元素,在滚动元素滚到底部或顶部时,再往下或往上滚动,也会触发页面的滚动,这种现象称之为滚动链(scroll chaining), 但是感觉滚动溢出(overscroll...,从而页面滚动也不会触发了,而在滚动之间则不做处理。...scrollBox.addEventListener('touchmove', (e) => { const deltaY = e.changedTouches[0].pageY - initialPageY // 禁止向上滚动溢出

45111

js 数组去除重复数据-Vue.js开发移动经验总结

移动适配   相对于PC端来说,移动设备分辨率百花齐放,千奇百怪,对于每一个开发者来说,移动适配是我们进行移动开发第一个需要面对的问题。   ...所以现在我们知道,这段在移动常见的代码的意思,即将和设置为的值;这样我们在移动就不会出现滚动条,网页内容可以比较好的展示出来,在这个前提下我们再考虑页面的适配问题。   ...iOS弹出键盘;软键盘唤起后,页面的 fixed元素将失效(iOS认为用户更希望的是元素随着滚动移动,也就是变成了 定位),既然变成了,所以当页面超过一屏且滚动时,失效的 fixed 元素就会跟随滚动了...键盘弹出与使用属性的情况在移动是很常见的,所以需要谨慎使用:fixed。   推荐使用flex   flex,即弹性布局,移动兼容性较好,能够满足大部分布局需求。...常用插件   better-scroll是一个为移动各种滚动场景提供丝滑的滚动效果的插件,如果在vue中使用可以参考作者的文章当 better-scroll 遇见 Vue。

2.1K30

移动端下拉刷新上拉加载-mescroll.js插件

最近无意间看到有这么一个上拉刷新下拉加载的插件 —— mescroll.js,个人感觉挺好用的,官网地址是:http://www.mescroll.com 然后我就看了一下文档,简单的写了一个小demo...1、下载mescroll.js插件。 在页面中引入如下两个文件:   mescroll.min.css   mescroll.min.js 2、代码 <!...var mescroll = new MeScroll("mescroll", { //第一个参数"mescroll"对应上面布局结构div的id //如果下拉刷新是重置列表数据...(参数:当前页的数据个数, 是否有下一页true/false); mescroll.endSuccess(res.data.length, true);...}else{ //联网成功的回调,隐藏下拉刷新的状态(参数:当前页的数据个数, 是否有下一页true/false)

8.9K100
领券