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

干货 | 携程机票RN复杂交互实践

二、方案设计 项目主要涉及前端页面交互UI改造,将往返程放入同一个页面中以黄金比例分割展示往返内容,通过动画与手势,进行两种状态之间的相互切换。方案的动画模式如下: ?...,针对第一条所导致的问题用户通过手势左右切换的过程中,很容易触发列表的滚动导致手势中断,进而导致手势不跟手以及页面抖动。...3.2 动画 在手势左右滑动切换往返程的同时,List中的航班卡片也会以动画的方式在两种状态间切换。...第二点,在动画结构设计上,上线过程中也经过了版的迭代。最开始采用的是展开态和折叠态同时进行透明度切换的方式,现在则以zIndex的方式实现。...四、成果对比 经过优化,将连续快速切换去程、返程状态的手势动画从帧率40帧左右提升到了59帧左右,动画性能得到了很好的改善。优化前后的效果如下所示。 ? 优化前 ?

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

uni-app: 从运行原理上面解决性能优化问题

避免使用大 页面中若大量使用大资源,会造成页面切换的卡顿,导致系统内存升高,甚至白屏崩溃。...vue页面使用页面滚动的性能,好于使用scroll-view的区域滚动。 如需要左右滑动的长列表,请参考“在HBuilderX新建uni-app项目” 的 新闻模板,那是一个标杆实现。...注意 onPageScroll 的使用,onPageScroll 进行监听时,视图层会频繁的向逻辑层发送数据; 使用css动画,而不是通过js的定时器操作界面做动画 ?...App端动画效果可以自定义。popin/popout的双窗体联动挤压动画效果对资源的消耗更大,如果动画期间页面里在执行耗时的js,可能会造成动画掉帧。...优化App启动速度的注意 工程代码越多,包括背景和本地字体文件越大,对App的启动速度有影响,应注意控制体积。组件引用的前景不影响性能。

15.9K41

回顾自己三次失败的面试经历

轮播作为一个公司首页最重要的推广方式,由于其相对于静态页面的动态滚动,使其更容易吸引客户的眼球。 现在想想,轮播的原理其实十分简单。...左右切换则是采用图片li浮动,父层元素ul的宽度为总图片宽度(也就是li 的宽度乘以li的个数),ui相对外层父元素绝对定位,并设定为超出的部分要隐藏。...然后为左右箭头添加了hover和click事件,在这里调用了两个函数,一个是重置定时器函数autoChangeAgain(),一个是图片切换处理函数changeTo()。...当点击左右箭头或者是自动轮播的时候,我们都会调用animate()函数,通过修改left 值产生动态滚动效果。...最后就是给li控制按钮(小圆点或者是小长条)绑定事件处理函数,当鼠标移入清除定时器,反之则启动定时器。 大概的原理便是如此,所以说,轮播最简单也最困难,要张张轮着播,还要丝滑无缝隙。

1.7K90

滑屏 H5 开发实践九问 - 腾讯ISUX

控制 wrapper 滑动 ? 控制每一屏滑动 如上 Gif 所示,滑屏可以在 wrapper 上操作,也可以将每一屏作为独立的滑动元素。...、滑动中、滑动后的接口 滑动时间、速度、缓动效果自定义 考虑动态增删页数而无差错 考虑页面缩放、横竖屏切换 在上述要求下,前者已显得分身乏术,而后者由于其元素间的自由性,可以满足上述的需求,且效果更佳,...建议首屏资源在 300KB 左右(大概加载时间为 2~3s 左右),并设置缓存。 针对无 loading 的情况,还需要考虑: 假如页面有比较丰富的动画,需要先加载资源才能被正常播放呢?...内部滚动即某屏内部还有滚动(但实际上系统的滚动跟滑屏的滚动是冲突对立的),如果这一屏不涉及复杂的 DOM,我还是觉得可以使用 iScroll,虽然它在安卓上的性能一直被诟病,但经过非常安卓机的检验,效果还是在可接收范围内的...,而 iOS 和 Android 的大部分浏览器中,页面滚动时是会阻止页面重绘的(JS 的执行也无法立刻生效在页面中),所以Demo 里看到的效果就是回弹后才翻屏。

4.1K40

滑屏 H5 开发实践九问 - 腾讯ISUX

控制 wrapper 滑动 ? 控制每一屏滑动 如上 Gif 所示,滑屏可以在 wrapper 上操作,也可以将每一屏作为独立的滑动元素。...、滑动中、滑动后的接口 滑动时间、速度、缓动效果自定义 考虑动态增删页数而无差错 考虑页面缩放、横竖屏切换 在上述要求下,前者已显得分身乏术,而后者由于其元素间的自由性,可以满足上述的需求,且效果更佳,...建议首屏资源在 300KB 左右(大概加载时间为 2~3s 左右),并设置缓存。 针对无 loading 的情况,还需要考虑: 假如页面有比较丰富的动画,需要先加载资源才能被正常播放呢?...内部滚动即某屏内部还有滚动(但实际上系统的滚动跟滑屏的滚动是冲突对立的),如果这一屏不涉及复杂的 DOM,我还是觉得可以使用 iScroll,虽然它在安卓上的性能一直被诟病,但经过非常安卓机的检验,效果还是在可接收范围内的...,而 iOS 和 Android 的大部分浏览器中,页面滚动时是会阻止页面重绘的(JS 的执行也无法立刻生效在页面中),所以Demo 里看到的效果就是回弹后才翻屏。

3.7K81

自己实现PC端jQuery版轮播

最近其他项目不是很忙,被安排给公司的官网项目做一个新的页面(之前没接触公司官网项目),其中有一个用到轮播的地方,最开始想直接用swiper.js插件实现就好了,可是发现官网项目里之前都没有引入过swiper.js...现在把自己写的轮播这块代码单独拿出来,做一个小demo写在这里记录一下(demo中轮播的图片网上随意找的) 实现的效果:     1、自动轮播(轮播时间间隔在js代码中自定义)     2、点击左右侧按钮...,实现手动切换     3、底部小圆点根据切换图片的位置相应的显示active状态     4、鼠标经过轮播区域,停止轮播,离开轮播区域开始轮播 代码目录结果如下: 一、index.html 注:这里以...--左右两侧的点击切换按钮--> ...但是注意在向左侧滚动的时候,滚动到最后一张图片后,再次切换时就不要用stop(false,true),而是要瞬间定位到第一张图片(其实是dom结构中的第二张)的位置,同样,向右侧滚动时,当滚动到第一张图片后

11.2K100

自实现PC端jQuery版轮播

最近其他项目不是很忙,被安排给公司的官网项目做一个新的页面(之前没接触公司官网项目),其中有一个用到轮播的地方,最开始想直接用swiper.js插件实现就好了,可是发现官网项目里之前都没有引入过swiper.js...现在把自己写的轮播这块代码单独拿出来,做一个小demo写在这里记录一下(demo中轮播的图片网上随意找的) 实现的效果:     1、自动轮播(轮播时间间隔在js代码中自定义)     2、点击左右侧按钮...,实现手动切换     3、底部小圆点根据切换图片的位置相应的显示active状态     4、鼠标经过轮播区域,停止轮播,离开轮播区域开始轮播 代码目录结果如下: 一、index.html 注:这里以...--左右两侧的点击切换按钮--> ...但是注意在向左侧滚动的时候,滚动到最后一张图片后,再次切换时就不要用stop(false,true),而是要瞬间定位到第一张图片(其实是dom结构中的第二张)的位置,同样,向右侧滚动时,当滚动到第一张图片后

9.4K20

灵活运用CSS开发技巧

目录 既然写文章有这么的写作技巧,那么我也需要对CSS开发技巧整理一下,起个易记的名字。...设置不同屏幕宽高比的font-size,结合vw单位和calc()可脱离JS控制 场景:rem页面布局(不兼容低版本移动端系统) 兼容:vw、calc() /* 基于UI width=750px DPR...在线演示 使用transform模拟视差滚动 要点:通过background-attachment:fixed或transform让多层背景以不同的速度移动,形成立体的运动效果 场景:页面滚动、视差滚动文字阴影...在线演示 使用linear-gradient控制背景渐变 要点:通过linear-gradient设置背景渐变色并放大背景尺寸,添加背景移动效果 场景:主题化、彩虹背景墙 兼容:gradient、animation...在线演示 使用conic-gradient描绘饼 要点:通过conic-gradient绘制多种色彩的饼 场景:项占比饼 兼容:gradient 代码:在线演示 ?

4.6K20

精读《不再需要 JS 做的 5 件事》

概述 使用 css 控制 svg 动画 原文绘制了一个放烟花的 例子,本质上是用 css 控制 svg 产生动画效果,核心代码: .trail { stroke-width: 2; stroke-dasharray...使用 JS 判断还是挺复杂的,你得设法监听父元素滚动,并且在定位切换时可能产生一些抖动,因为 JS 的执行与 CSS 之间是异步关系。...幻灯片滚动 幻灯片滚动即每次滚动有固定的步长,把子元素完整的展示在可视区域,不可能出现上下或者左右两个子元素各出现一部分的 “割裂” 情况。...该场景除了用浏览器实现幻灯片外,在许多网站首页也被频繁使用,比如将首页切割为 5 个纵向滚动的区块,每个区块展示一个产品特性,此时滚动不再是连续的,而是从一个区块到另一个区块的完整切换。...其实这种效果无需 JS 实现: html { scroll-snap-type: y mandatory; } .child { scroll-snap-align: start; } 这样便将页面设置为精准捕捉子元素滚动位置

2.2K20

Ios常用第三方框架(二)

XYPieChart -XYPieChart:饼状, 饼, 数据统计, 数据可视化,可以在图形上标注数据。效果十分漂亮,而且没有用到一张图片。...该项目通过三种形式展示页面之间的切换,比如导航栏上的多个tab切换、页面左右两端箭头指示切换,以及使用分段控件。...ZWSlideViewController - ZWSlideViewController页滑动视图控制器(类似新闻类门户APP),可以用最简单的继承方法使用,也可以不用继承,只用菜单或主视图页面,可实现丰富的定制...,可以使用在多种不同形态的APP下,还可以将其做为页或的滑动介绍。...TYPagerController - 简单,支持定制,页面控制器,可以滚动内容和标题栏,包含多种style。

7.6K60

杨春文:小程序在直播产品中的技术应用

最简单的一种方式需要自己部署自己后台,甚至今晚回去就可以开发直播出来,开发者自己测试可以在腾讯云控制后台,实时推流的地址或者拉流的地址,放到小程序的两端实现观看。...最外层的组件播放器,其他的元素可以通过嵌在整个视频里面,消息、象、右下角点赞都可以放在里面,如果是早期,只能实现左右两边的效果,视频和其他分开,其实不符合这一类型的应用场景,就非常的弱。...通过官方实现的组件来给实现,官方提供的一种方案例如左下角的消息,随着用户发的评论,有动态的滚动过程,通过的方式,可以实现滚动,官方给提供scrol的,使用是比较痛苦的,包括右边点赞的动画,比较炫的效果也是比较难实现的...逻辑的处理层就是以JS代码,js最后可能生成的虚拟道,前端开发的同学可能知道,虚拟道是webview的过程,最后通过js产生到这里,左边这块是小程序的代码,其实我这儿不是官方的代码,为阐述原理,左边是小程序代码最终运行的效果...大的图片会造成页面之间切换快慢的问题,例如切到页面,如果没有图片,可能切换的过程是100毫秒,中间放一张大的图片进去,变成300毫秒,后面的图片不停的增多,切换的时间也在不停的,小程序里面大图片造成切换卡顿慢的问题

2.1K130

开发 | 小程序不够「高级」?那是因为你没用上这 3 个特效!

滚动 Tab 选项卡 先看一下效果吧,能够点击菜单或滑动页面切换,tab 菜单部分可以实现左右滚动 ? 好了,看一下实现方法吧。 首先是 WXML 代码: ?...JS 代码如下: ? ? 2. 星级评分 按照惯例,先上效果。 ? 在实例中,默认一星,点击可以选择星级,可半星显示。 来看看代码。首先是 WXML: ? 然后是 WXSS 样式。 ? ?...JS 代码: ? ? 3. 自定义底部弹出层 自定义底部弹出层,在电商的小程序中经常会用到,需要根据实际需求,自定义弹出内容。 先看下我的效果: ?...JS 代码如下: ? 写在后面 这次没有知识点讲解,是我正在做的小程序项目中我做的一些小实例的源码,总结下来了三个非常常用的。如果喜欢,或者对你有帮助,欢迎 copy 和学习。

82830

06-移动端开发教程-fullpage框架

我们经常见到一些全屏的特绚丽页面,手指或者鼠标滑动一下就是一整屏切换,而且还有各种效果。比如:全屏滑动案例 下面我们就介绍一下jQuery的fullPage.js的如何使用及常用的配置。...1. fullpage.js的主要功能 fullPage.js是一个基于jquery的插件,它能很方便的制作出全屏网站,github地址。 主要功能有: 支持鼠标滚动。 支持前后退和键盘控制。...,单位为毫秒 easing 字符串 easeInQuart 滚动动画方式 menu 布尔值 false 绑定菜单,设定的相关属性与 anchors 的值对应后,菜单可以控制滚动 navigation 布尔值...布尔值 false 滚动到最底部后是否滚回顶部 loopTop 布尔值 false 滚动到最顶部后是否滚底部 loopHorizontal 布尔值 true 左右滑块是否循环滑动 autoScrolling...向左滚动 setAutoScrolling() 设置页面滚动方式,设置为 true 时自动滚动 setAllowScrolling() 添加或删除鼠标滚轮/触控板控制 setKeyboardScrolling

5.1K90

06-移动端开发教程-fullpage框架

我们经常见到一些全屏的特绚丽页面,手指或者鼠标滑动一下就是一整屏切换,而且还有各种效果。比如:全屏滑动案例 下面我们就介绍一下jQuery的fullPage.js的如何使用及常用的配置。...1. fullpage.js的主要功能 fullPage.js是一个基于jquery的插件,它能很方便的制作出全屏网站,github地址。 主要功能有: 支持鼠标滚动。 支持前后退和键盘控制。...,单位为毫秒 easing 字符串 easeInQuart 滚动动画方式 menu 布尔值 false 绑定菜单,设定的相关属性与 anchors 的值对应后,菜单可以控制滚动 navigation 布尔值...布尔值 false 滚动到最底部后是否滚回顶部 loopTop 布尔值 false 滚动到最顶部后是否滚底部 loopHorizontal 布尔值 true 左右滑块是否循环滑动 autoScrolling...向左滚动 setAutoScrolling() 设置页面滚动方式,设置为 true 时自动滚动 setAllowScrolling() 添加或删除鼠标滚轮/触控板控制 setKeyboardScrolling

5.1K50

JS零基础来搞微信小程序究竟有多难,结果狐友用VFP混成了

第一个坑怎样实现tabBar的界面切换效果。...第三个坑怎么用滚动选择器实现街道社区选择。 街道社区的滚动选择的效果如下图: 查了一下滚动选择器picker的帮助,发现只有省市区的滚动选择,没有街道社区的。...看来只能自已搞,也是上网下载代码研究,最后实现了,方法如下: wxml代码如下: Js代码如下: 上面是滚动选择器的初始值,multArray数组中有两个数组,第一个数组是街道,第二数组是社区。...的代码和case0相似,都是表示当multiIndex数组第一个数变化时所对应的社区名,由于代码太长了无法截全只好省略,依葫芦画瓢就可以。 好了,这样就可以了。...第四个坑如何选择多张图片并预览,效果如下图: 示例可以添加3张图片,点击“+”号添加图片,点击“ⅹ”号删除图片,点击图片就预览,预览时左右拉可以切换图片,点击“上传图片”按钮,调用中间层sqltest

92020

微信小程序swiper组件之终极优化丝滑方案

先看效果: http://biaoblog.cn:3000/uploads/1677230987632.gif 支持左右滑动,且位置记录自适应,巨丝滑 代码:                                 我们修改的部分是要css,所以不考虑做js...和dom的操作, 比如之前我参考过记录不同tab滚动位置,然后切换时,滚到到对应的tab上次的位置去, 这种每次切换都会都会有卡顿,体验贼差 我们不考虑。...我们的做法是利用每一个swiper-item的srcoll空间, 而不是每个swiper-item都公用一个swiper父组件的公共scroll, 在我们设置css之前,每个swiper-item的滚动位置是共享的...一举两得 位置记录 .swiper自适应高度问题 之前尝试过scroll记录位置的,体验巨差,而且swiper的高度,也需要写js来计算。 这下真的舒服了..

1.5K10

Devtools 老师傅养成 - Performance 面板

response 在 100ms 内响应,Main 主线程 JS 工作应该小于 50ms,剩余的时间将主线程的控制js 返回给浏览器执行其像素管道、对用户输入作出反应等,因此最佳实践是将 js 的工作分成不大于...,可以在控制区下方得到全部性能分析结果 其中除了最下方的详细信息窗格以外,分析结果都是以时间为轴 可以在 overview 窗格拖动鼠标,选择某段时间的分析结果 滚动鼠标滚轮,缩放/移动选中事件 在火焰窗格...,按住shift,滚动鼠标滚轮,可以上下 在火焰窗格,也可以直接左右拖动图表 或者用W A S D按键控制缩放移动 Disable JavaScript samples默认情况,在Main主线程的火焰图中...不同的颜色代表不同事件对 CPU 的占用,颜色信息如图 当 CPU 长时间被占满,就是当前网页性能需要优化的信号 SCREENSHOTS 鼠标在FPS,CPU,NET图表悬浮时,会展示出鼠标对应时间点的网页截屏,左右移动鼠标可以看到网页变化的重播效果...原因:基于端口数量和线程切换开销的考虑,浏览器不可能无限量的并发请求。 导致:有大量请求的站点,响应较慢,因为并发请求会被阻塞。

2.1K41

iOS开发常用之网络

该项目通过三种形式展示页面之间的切换,比如导航栏上的多个选项卡切换,页面左右两端箭头指示切换,以及使用分段控件。...ZWSlideViewController - ZWSlideViewController页滑动视图控制器,可以用最简单的继承方法使用,也可以不用继承,只用菜单或主视图页面,可实现丰富的定制,可以使用在多种不同形态的...APP下,还可以将其做为页或的滑动介绍。...仿LOL滚动视图 - 仿LOL滚动视图。 答案选择切换页 - 将scrollview和tableview封装在一起,在初始的时候简单的将数据带上,就可以一页一页的左右来回滑动。...简单实用的无限循环轮播 - 简单实用的无限循环轮播。 CPInfiniteBanner - 是一个循环播放的组件,可以左右无缝滑动,3个imageview实现。

23.6K10
领券