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

Tips-移动滑动固顶效果(position: sticky)

先放个图看看滑动固顶是啥效果: image.png 中间那个 tab 条,平常的时候是固定的,等到页面滑上去的时候,又像 fixed 一样贴在顶部。...position: sticky 就是用来实现这个效果的,元素不脱离文档流,仍然保留高度,所以这个属性真是人畜无害啊,而且效果如丝般润滑,堪比原生。...Android 上实现类似效果 这里我们不得不借助 js 和 positon:fixed。...position: fixed; } 在需要固顶的时候我们将元素的 positon 改为 fixed,但是这里又有个坑,设置元素为 fixed 的时候,相应元素是脱离文档流的,也就是没有高度了,仔细看滑动的时候...到这里基本坑都踩完了,虽然 Android 效果没有 iOS 那么丝滑舒服,也勉强能接受了。

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

移动效果之ScrollList

写在前面 列表一直是展示数据的一个重要方式,在手机的列表展示又和PC展示不同,毕竟手机主要靠滑。...下面主要是阅读了饿了么UI组件库mint-ui然后编写出来的效果图: ?...代码请看这里:github 移动效果之swiper 移动效果之picker 移动效果之cellSwiper 移动效果之IndexList 1 核心解析 1.1 整体思路图 ?...这两点我们在touchmove事件中可以找到相应的代码: // 弹性滑动 // 这里用手指滑动的位移除以比例系数来得出内容应该滑动的位移 // 因此这里的内容滑动的位移一定是会小于手指滑动的位移的,除非你将系列设置为小于...'drop') { // 重置状态为loading,改变位移 Event.trigger('topStatus', 'loading'); // 向下移动

1.1K60

移动效果之Swiper

写在前面 最近在做移动端方面运用到了饿了么的vue前端组件库,因为不想单纯用组件而使用它,故想深入了解一下实现原理。后续将会继续研究一下其他的组件实现原理,有兴趣的可以关注下。...移动效果之Picker 移动效果之CellSwiper 移动效果之IndexList 移动效果之scrollList 代码在这里:戳我 or github 1....// 这里的 translate 方法其实很简单,在滑动的时候去除了动画效果`transition`,单纯改变位移 // 而在滑动结束的时候,加上`transition`,使得滑动到最后释放的过渡更加自然...translate(currentPage, -pageWidth, speed, callback); if (nextPage) { // 下一面移动视野中...有一个细节就是,在滑动中transition的效果置为空,是为了防止在滑动中上一页与下一页因为过渡存在而位移得不自然,在滑动结束后再给他们加上动画效果

1.3K80

移动效果之Picker

写在前面 接着前面的移动效果的研究,这次来看看picker选择器的实现原理 移动效果之Swiper 移动效果之CellSwiper 移动效果之IndexList 移动效果之scrollList...因为毕竟是移动滑动不可避免。这次,源码中的对滑动事件进行了封装,兼容了PC以及排除了拖动和选择造成的影响,具体看一下分析。...这点可以参看前面一篇文章移动效果之Swiper,这篇文章中有着相同的方法。...其实感觉这样挺费事,因为在touchend中最后肯定会计算translate值,我们只需要每次保存最后滑动移动值就好了,而不要每次都要在DOM中取。...px\)\s*translateZ\(0px\)/ig; 接下来看看滑动中 drag: function(event) { // 加上 dragging 类是为了清除过渡效果,在swiper中也有同样的应用

2K40

移动效果之CellSwiper

写在前面 接着之前的移动效果讲解,刚好项目中需要使用到这一效果,去饿了么的组件库看了一下效果,发现效果和微信的cellSwiper还是有点差别的,由于项目中又是使用的React,之前使用的React...所有组件都是自己一个字母一个字母码起来的(想来也是辛酸),所以结合之前的swiper,道理类似,实现了类似微信的抽拉效果。...代码看这里:github 移动效果之Swiper 移动效果之Picker 移动效果之IndexList 移动效果之scrollList 1....比如这个效果,由于采用的是覆盖式抽拉,因此,需要两个层,上面一个层负责滑动,下面一个层固定,当上面的层滑动完成之后,下面的自然就显示出来了。...// 滑动中 ontouchmove // ... // 这里计算的是上层滑动的距离范围 // 滑动最远不能超过按钮组宽度 // 滑动最小距离就是不滑动,也就是0 offsetLeft = Math.min

1.2K60

原生JS实现移动滑动反弹

什么是 Touch滑动?就是类似于 PC的滚动事件,但是在移动是没有滚动事件的,所以就要用到 Touch事件结合 js去实现,效果如下: ? 1. 准备工作 什么是移动的 Touch事件?...在移动 Touch事件可以细分成三种,分别是: touchstart、 touchmove和 touchend,并且 touch事件必须要用 addEventListener去监听。...1、touchStart当手指触碰到屏幕的时候触发 2、touchmove当手指在屏幕上不断移动的时候触发 3、touchend当手指离开屏幕的时候触发 Touch 事件触发的 Event 对象 //...基本结构 此案例模拟的是移动的一种滑动菜单效果。...再次滑动 上面的效果图,细心的朋友可能已经发现了问题,在第一次的时候,得到了我们想要的效果,但是在第二次的时候,我们继续向下移动了一段距离,但是 ul并没有接着第一次的位置继续向下,而是瞬间跳了上去。

10.3K20

移动前端常见的触摸相关事件touch、tap、swipe等整理

前端的很多事件在PC和浏览器可公用,但有些事件却只在移动产生,如触摸相关的事件 本文整理了移动常见的一些事件,包括原生支持的click、touch、tap、swipe事件,也有定义型的gesture...手势事件(目前只是一个概念,使用的时候需封装模拟) 使用到的是移动的Chrome浏览器,本文只对该浏览器进行调试,其他浏览器暂未考虑到 一、事件定义及分类 1. click事件 单击事件,类似于PC的...click,但在移动中,连续click的触发有200ms ~ 300ms的延迟 2. touch类事件 触摸事件,有touchstart touchmove touchend touchcancel... swipeUp swipeDown 五种之分 swipe:手指在屏幕上滑动时会触发 swipeLeft:手指在屏幕上向左滑动时会触发 swipeRight:手指在屏幕上向右滑动时会触发 swipeUp...2) 改用zepto.js正常 ? 看第五次的touch ? 看第二次的touch ? 看第四次的touch ?

2K20

移动 模拟手机联系人触摸A~Z导航

HTML5学堂:今天要与大家分享一个当前移动很常见的效果,类似于手机联系人的快速导航功能,即当触摸a~z的字母时,能够相对应的显示文字。...有些手机的音乐导航也类似,具体可详见下图: touchmove的问题 在移动,我们可以使用touch事件进行处理,此处首先想到的是使用touchmove事件。...实现触摸a~z导航(模拟手机联系人) 当前能够想到的实现方法有两种(也均测试无误) 第一种方法:手指滑动的时候,判断手指滑动的竖向位置,如果到达相应标签的位置(由于标签是fixed定位模式,因此可以拿到每个标签...> HTML5学堂 移动开发...li>使用elementFromPoint实现兼容 <script src="js/<em>zepto.js</em>

1.6K50

11-移动开发教程-zepto.js入门教程

Zepto.js是一个轻量级的针对现代浏览器的JavaScript库, 它与jquery有着类似的api。 如果你会用jquery,那么你也会用zepto。 1. Why Zepto.js?...API类似jQuery,熟悉jQuery可以无缝迁移到Zepto.js Zepto仅针对高版本现代浏览器设计了最小核心的通用库,代码体积小,尤其适合移动开发。...Zepto增加了针对移动的触摸和手势相关的事件 Zepto模块化做的很灵活,可以自定义组合模块 2....] 中value 必须用 双引号 " or 单引号 ' 括起来 移动端点透需要阻止默认行为来规避。...总结 zepto.js确实非常小巧,而且非常讨巧的利用了大家熟悉jQuery的优势,确实非常可爱的一个js库,设计的模块中庸而又实用,在移动的触屏事件封装的很不错,移动web开发值得推荐。

2.3K50

10-移动开发教程-移动事件

在前端的移动Web开发中,有一部分事件只在移动产生,如触摸相关的事件。接下来给大家简单总结一下移动的事件。 1....移动特有的touch事件 由于移动设备大都具备触摸功能,所以移动浏览器都引入了触摸(touch)事件。...swipe:手指在屏幕上滑动时会触发 swipeLeft:手指在屏幕上向左滑动时会触发 swipeRight:手指在屏幕上向右滑动时会触发 swipeUp:手指在屏幕上向上滑动时会触发 swipeDown...:手指在屏幕上向下滑动时会触发 5.3 zepto的手势相关事件 Zepto.js 是一个轻量级的针对现代高级浏览器的JavaScript库, 它适配了jQuery的大部分api,也就是jQuery怎么用...它非常小,非常适合移动Zepto.js的touch模块中封装了手势相关的代码。

6.8K80
领券