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

如何用原生 JS 复刻 Bilibili 首页头图的视差交互效果

最近网上冲浪的时候,发现了 B 站这个首页头图的交互效果非常有趣,如下图所示,当鼠标在画面中左右滑动时,海洋生物会栩栩如生地动起来:图片这是通过给图层设置不同的移动速度来实现的视差效果,在佩服 UI 与前端对网页交互效果方面的努力和探索之外...,我也沉浸在这片“海洋”中疯狂摸鱼:尝试只使用原生 JS 来复刻它,最终实现了非常还原的效果:图片可点击图片进入 码上掘金 中体验完整效果。...这种方式虽然没什么问题,但需要额外利用 CSS 才能实现,能不能只用 JS 来做呢,我们先分析下 transition 中两个主要的参数:持续时间动画函数其实只要搞懂这两个参数,我们就可以用 JS 来实现...加餐本来到这里就该结束了,但正好在文章写完那天,我登录B站时发现首页头图更新了。。那敢情好啊,我就把新出的效果也复刻一下吧!不过上面的代码是一行也不用改动的,只需要换一套数据就行了。.../7267433230263910460核心代码只有几十行,你可以通过改变数据中的各项值来调整画面元素的交互变化程度及效果,大家觉得这波原生 JS 整活如何?

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

使用 UICollectionView 实现首页卡片轮播效果

UICollectionView 是 iOS6 之后引入的一个新的 UI 控件,与 UITableView 有着很多相似的地方,在开发过程中我们都会选择使用它们俩来为 App 的整个页面进行布局,比如说淘宝的首页...;相比 UITbleView,UICollectionView 的功能比它要强大的多,它支持水平与垂直俩种方向的布局,开发者可以完全自定义一套 layout 布局方案,实现出意想不到的效果。...如何使用 UICollectionView 实现网易云首页卡片轮播效果。...的方式来实现,但是 UICollectionView 给我们提供了更好的选择,因为它本身继承自 UIScrollView 然后又支持横向滚动,所以使用 UICollectionView 来实现横向滚动效果是最好不过的...主要是想给大家简单的讲述一下我的实现思路,因为用手机看公众号文章如果贴上所有的代码,对于大家的阅读体验是非常不好的,所以我打算在最下方留下代码的链接,如果大家感兴趣的话,可以直接通过这个链接去获取全部代码,最后看一下实现后的效果

1.8K20

JS动画效果

JavaScript 动画框架 框架封装 ---- 相信大家在很多门户网站上都可以看到动画的交互效果,通过这些动画生动地体现了我们在网页上的交互效果,现在我们就来学习一下这些动画效果的分解动作吧。...动画的实现思路都是通过连续改变物体的属性值来实现效果的。一般来说都是改变一个物体的left,right,width,height,opacity....li> 四.链式动画 首先把上面的简单运动框架抽取出来然后加上透明度的变化,放进一个人通用的JS文件里movement.js...filter: alpha(opacity:30); opacity: 0.3; } <script src="move.<em>js</em>...JSON的格式: {键:值,键:值} 完善后的运动框架<em>js</em>:movement.<em>js</em> function getStyle(obj,attr) { if(obj.currentStyle){

20.6K81

Android高仿京东2020版首页联动效果

image.png 新增效果(不同于本篇效果的另一种效果,包含在本项目中): image.png image.png 第一张图 通过RecyclerView+Vlayout多布局实现;第二张具有实战性质的效果图...第一版得布局结构图: image.png 起初考虑到TabLayout和RecyclerView(ViewPager中)可以一起滑动,所以很容易想到的办法就是用Scrollview将两者嵌套进去,效果是实现了...但这样做好像并没有解决TabLayout和列表一起滑动的效果啊?!...其实,这里取了一个巧,MainActivity中的有一个TabLayout,而tab1也就是首页中的Fragment也包含了一个一摸一样的TabLayout(NestedScrollview嵌套TabLayout...+RecyclerView),当viewpager的position==0时,MainActivity中的TabLayout隐藏,其它页面时显示,所有的效果操作由MainActivity转移到了Tab1Fragment

95020
领券