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

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

鼠标事件 & 执行动画我们这里主要会用到三个鼠标事件,分别是 mouseover、mousemove 和 mouseleave,分别代表鼠标的进入事件、移动事件以及离开事件,我们将在容器上绑定这三个事件监听...代码编写完毕,对数据进行亿番调整后,画面已经基本和B站一致了:图片平移与缩放我们继续完善鼠标交互效果,让原本紧贴鼠标移动的图层按不同速度进行移动,以此实现最基本的视差效果,为此我添加了一个参数 a 用来代表加速度...以上,我们就推导出了二维矩阵的旋转变换为:matrix(cosθ, sinθ, -sinθ, cosθ, 0, 0)位置回正到这里整个交互还没有结束,当前在鼠标离开时,画面会停滞住,这样鼠标下次进入画面时也会闪动...,所以需在离开时自动回正到初始位置上才行,我们先注册相关事件:// 鼠标已经离开了视窗或者切出浏览器,执行回正动画body.addEventListener("mouseleave", leave)window.onblur...我们可以以此来计算出进度:let startTime;const duration = 300; // 动画持续时间(毫秒)function leave() { startTime = 0; // 离开时初始值归零

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

    Framer 一些交互相关的动画效果

    1.鼠标按下(OnMouseDown): 当用户在某个元素上按下鼠标时,就会触发设置好的动画效果。例如,你可以让按钮在按下时产生缩放或者颜色变化的效果,从而给予用户即时反馈。...2.鼠标悬浮(OnMouseOver 和 OnMouseOut): 当用户将鼠标移动到某个元素上时,可以触发设置好的动画效果....在Framer中,你可以轻松创建平滑且自然的循环动画,让静态的设计元素动起来,增加视觉吸引力。 4. 鼠标拖拽(Drag and Drop): 鼠标拖拽功能允许用户通过鼠标移动元素。...Mirror: 这个类型表示动画在完成一次正向播放后会反向播放,然后再正向播放,如此往复。这种类型的动画给人一种元素在“反弹”的印象,能够创造出动态且富有弹性的视觉效果。...Transition(过渡): Transition属性定义了元素在拖拽开始和结束时的动画效果。你可以设置动画的持续时间、延迟和缓动函数,让拖拽的过程更加平滑和自然。

    13710

    HarmonyOS-UIAbitity-枚举说明——【坚果派-红目香薰】

    FillMode 名称 描述 None 动画未执行时不会将任何样式应用于目标,动画播放完成之后恢复初始默认状态。 Forwards 目标将保留动画执行期间最后一个关键帧的状态。...Alternate 动画在奇数次(1、3、5...)正向播放,在偶数次(2、4、6...)反向播放。...Auto 按需显示(触摸时显示,2s后消失)。 EdgeEffect 名称 描述 Spring 弹性物理动效,滑动到边缘后可以根据初始速度或通过触摸事件继续滑动一段距离,松手后回弹。...TransitionType 名称 描述 All 指定当前的Transition动效生效在组件的所有变化场景。 Insert 指定当前的Transition动效生效在组件的插入场景。...Delete 指定当前的Transition动效生效在组件的删除场景。

    15710

    Web前端学习 第2章 网页重构14 css3动画效果

    然后在花括号中定义动画的具体细节,0%位起始状态,100%为结束状态,我们也可以用其他的百分比定义动画在不同阶段的不同状态。...设置动画 在上面的代码中,元素运行到100%的位置就会直接回到0%的位置,这样看起来效果很不平滑,为了让效果更连贯,我们可以让0%和100%的样式是相同的,代码如下所示。...animation-iteration-count: infinite; 7 } 8 .box:hover{ 9 animation-play-state: paused; 10 } 这样当我们鼠标悬浮在元素之上的时候...,动画就会停下来,当我们鼠标离开元素,动画又会开始运行。...二、课后练习 分阶段完成一个海盗船效果,具体阶段如下: 完成波浪效果。 完成船摆动的效果。 添加鱼的效果。

    39420

    【融职培训】Web前端学习 第2章 网页重构14 css3动画效果

    然后在花括号中定义动画的具体细节,0%位起始状态,100%为结束状态,我们也可以用其他的百分比定义动画在不同阶段的不同状态。...设置动画 在上面的代码中,元素运行到100%的位置就会直接回到0%的位置,这样看起来效果很不平滑,为了让效果更连贯,我们可以让0%和100%的样式是相同的,代码如下所示。...animation-iteration-count: infinite; 7 } 8 .box:hover{ 9 animation-play-state: paused; 10 } 这样当我们鼠标悬浮在元素之上的时候...,动画就会停下来,当我们鼠标离开元素,动画又会开始运行。...二、课后练习 分阶段完成一个海盗船效果,具体阶段如下: 完成波浪效果。 完成船摆动的效果。 添加鱼的效果。

    27320

    前端架构师之11_JavaScript事件

    参数capture默认值为false,表示在冒泡阶段完成事件处理,将其设置为true时,表示在捕获阶段完成事件处理。 事件监听式的两种不同实现方式的区别 实现的语法不同。...为小球绑定单击事件,在处理函数中调用自定义的 animate() 实现小球的缓动。 编写 animate() 动画函数,在函数中利用定时器,根据缓动公式完成缓动动画。...事件名称 事件触发时机 click 当按下并释放任意鼠标按键时触发 dblclick 当鼠标双击时触发 mouseover 当鼠标进入时触发 mouseout 当鼠标离开时触发 change 当内容发生改变时触发...当鼠标移动时,让遮罩跟着在小图中进行移动。 限定遮罩在小图中的可移动范围。 根据遮罩在小图中的覆盖范围,按比例的显示大图。 的确认操作等。JavaScript提供了相关的表单事件。...当鼠标移动时,让遮罩跟着在小图中进行移动。 限定遮罩在小图中的可移动范围。 根据遮罩在小图中的覆盖范围,按比例的显示大图。

    7410

    深入浅出 CSS 动画

    animation-delay:设置延时,即从元素加载完成之后到动画序列开始执行的这段时间。 animation-direction:设置动画在每次运行完后是反向运行还是重新回到开始位置重复运行。...缓动函数在动画中非常重要,它定义了动画在每一动画周期中执行的节奏。...看个倒酒的例子,这是一个纯 CSS 动画,但是默认状态下,动画处于 animation-play-state: paused,也就是暂停状态,只有当鼠标点击杯子的时,才设置 animation-play-state...animation-iteration-count 和 animation-direction 决定 动画的最后一帧,也就是动画运行的最终状态,并且我们可以利用 animation-fill-mode: forwards 让动画在结束后停留在这一帧...给它足够的工作时间:这个属性是用来让页面开发者告知浏览器哪些属性可能会变化的。然后浏览器可以选择在变化发生前提前去做一些优化工作。所以给浏览器一点时间去真正做这些优化工作是非常重要的。

    1.8K40

    web前端必备英语词汇都在这儿了,客官你了解多少?

    前段时间无意中发现了之前整理的web前端英语词汇,希望对从事前端的你有所帮助,不会让英语成为你工作当中的软肋!...mousewheel 在其他浏览器的滚轮事件 mousedown 鼠标按下事件 mouseup 鼠标抬起事件 margin 外边距 millimeter 毫米 max 最大的 min 最小的...onclick 在点击时 ondblclick 在双击时 onmouseover 在鼠标进入时 onmouseout 在鼠标离开时 onmousemove 在鼠标移动时 onmousedown 在鼠标按下时...onmouseup 在鼠标抬起时 onkeydown 在按键按下时 onkeyup在按键抬起时 onkeypress 在按键时 onsubmit 在提交时 onchange 在改变时 onfocus...在获得焦点时 onblur 在失去焦点时 onscroll 窗口滚动事件 onresize 窗口大小监听事件 out 减速到0的缓动 onStart 开始事件 onComplete 完成事件 onStop

    3.1K20

    如果明天交任务,自己做今晚能完成,而让下属做需要一周时间,怎么办?

    一、如果明天交任务,自己做今晚能完成,而让下属做需要一周时间,怎么办? 我以前讲过,在给员工布置任务的时候,要关注员工的成长。在员工遇到问题时,要引导帮助员工解决问题,领导自己不能自己去做。...作为领导,把事情做成,让工作准时完成是排第一位的。任务完成后再想想以后怎么做,才不用自己干。当然,这种情况肯定不能是常态,是常态那就说明管理上有大问题。...作为程序员,面对这种问题就应该想办法让程序自动来做。 首先你得把工作流程梳理清楚,然后每个行动标准化。这样程序才能够自动化。如果你不是程序员,你也可以按照这个思维,把工作拆解,让其能更高效地手动完成。...那么在这种情况下,还是应该先手动完成任务。在做计划去写程序。说实话,工作里总会有一些任务需要进行重复,枯燥的操作。你可能觉得是浪费时间,但在没有程序自动化之前,手动枯燥的任务还是需要去做的。

    18310

    DOM事件

    DOM事件是指在HTML文档中,当特定的动作发生时(比如用户点击按钮、页面加载完成等),浏览器会生成相应的事件。...改变事件(change): 当表单元素的值改变时触发(通常用于输入框、下拉框等)。鼠标移入/移出事件(mouseover/mouseout): 当鼠标移入或移出元素时触发。...键盘事件(keydown/keyup): 当用户按下或释放键盘上的按键时触发。页面加载事件(load): 当页面完全加载时触发。窗口大小改变事件(resize): 当浏览器窗口大小改变时触发。...,进入子节点不会触发这个事件元素.onmouseleave=function(){}鼠标离开,进入子节点不会触发这个事件元素.onmouseout=function(){}鼠标滑出,进入子节点会触发这个事件元素...onmouseover=function(){}鼠标滑过,进入子节点会触发这个事件元素.onmousemove=function(){}鼠标滑动,只要鼠标动就会触发元素.onmousedown=function

    17620

    Vue一个案例引发「动画」的使用总结

    项目开发中动画有着很重要的作用,而且也是用到的地方非常多,例如:鼠标的进入离开,弹窗效果,组件的显示隐藏,列表的切换等等,可以说我们网页上的动画无处不在,也有人说了,这些东西也可以不使用动画。...首先,Vue 在插入,修改或者移除 DOM 时,提供了多种不同的添加动画的方法,在 Vue 中我们使用 和 组件时,Vue 会给我们提供一些内置的...图中的例子是一个非常常见的图片切换效果,不过在这个例子中我们只是单纯的实现图片的切换,看起来非常的生硬,没有任何的过渡效果,下面我们来给图片加一点动画的效果,让它看起来非常的有逼格。...它会告知我们的动画完成,我们绑定了 css 为 false,告诉组件跳过 CSS 的检测,使用 JavaScript。 我们结合 Velocity.js 动画,来修改完成我们的动画效果。...in-out:新元素先进行过渡,完成之后当前元素过渡离开。

    1.2K10

    Vue一个案例引发「动画」的使用总结

    项目开发中动画有着很重要的作用,而且也是用到的地方非常多,例如:鼠标的进入离开,弹窗效果,组件的显示隐藏,列表的切换等等,可以说我们网页上的动画无处不在,也有人说了,这些东西也可以不使用动画。...首先,Vue 在插入,修改或者移除 DOM 时,提供了多种不同的添加动画的方法,在 Vue 中我们使用 和 组件时,Vue 会给我们提供一些内置的...先来看看我们要实现一个什么样子的案例效果 图中的例子是一个非常常见的图片切换效果,不过在这个例子中我们只是单纯的实现图片的切换,看起来非常的生硬,没有任何的过渡效果,下面我们来给图片加一点动画的效果,让它看起来非常的有逼格...它会告知我们的动画完成,我们绑定了 css 为 false,告诉组件跳过 CSS 的检测,使用 JavaScript。 我们结合 Velocity.js 动画,来修改完成我们的动画效果。...in-out:新元素先进行过渡,完成之后当前元素过渡离开。

    1.1K30

    动效设计原理:从卡通动画到UI动效 - 腾讯ISUX

    动画中一些令人费解的行为没有让用户感到困惑;动画人物并不会突然消失,突然出现;动画在发生形状变化时非常自然。 动画提供了必要的视觉线索,让人理解某个动作前后发生了什么。...和卡通一样,UI界面必须让用户理解,并在必要时突出一些细节。采用夸张的方式,使UI界面中的某些对象可以更容易理解,更加“现实”,从而使UI界面更吸引人。 (在图片社区项目中,我们对通知使用了动效。...( Tumblr中,当鼠标移动到某一功能时,icon会跳动一下,提醒用户点击之后会有变化) 像类似预期一样的的夸张技巧,它们可以让用户更容易理解界面。他们不断的为用户解释或者暗示界面之间的继承关系。...包括了身体,衣服,和一些局部的动作处理,让其动效变的更加极致。 (iOS中,移动app位置是典型的跟随运动效果,当App插入一个新位置时,其他app位置跟着位移) 构建一个假象是一件非常脆弱的事。...让用户不要觉得他们在操作一个界面,而让他们更直接的触达任务。 4.使用UI动效的注意点 在UI界面中使用动效是有益的。但是UI并不是卡通。

    1.7K20

    动效设计原理:从卡通动画到UI动效

    动画中一些令人费解的行为没有让用户感到困惑;动画人物并不会突然消失,突然出现;动画在发生形状变化时非常自然。 动画提供了必要的视觉线索,让人理解某个动作前后发生了什么。...(在Windows中,鼠标指针可以设置成运动模糊,方便用户去追踪鼠标指针) 动画师发现,有两种不同的运动模糊方式可以使用。最简单的就是使用半透明的条纹。...(在图片社区项目中,我们对通知使用了动效。因为通知入口属于细节,在没有通知时,只保留一个icon(上图),不吸引用户注意。当有新消息来时(下图),用动效来吸引用户注意。)...( Tumblr中,当鼠标移动到某一功能时,icon会跳动一下,提醒用户点击之后会有变化) 像类似预期一样的的夸张技巧,它们可以让用户更容易理解界面。他们不断的为用户解释或者暗示界面之间的继承关系。...让用户不要觉得他们在操作一个界面,而让他们更直接的触达任务。 4使用UI动效的注意点 在UI界面中使用动效是有益的。但是UI并不是卡通。

    2.7K80

    N个理由告诉你,为啥插画在UI设计中这么火?

    不止是原本身处各个领域的画手和插画师开始越来越受追捧,而且连网页、UI和动效设计师都纷纷学习插画设计。当然,更显著的变化,是插画在网页和UI中的使用越来越多,越来越频繁,甚至越来越多样。...插画在UI界面中的运用,可以说相当广泛了,它更清晰,更时尚,也可以更加精准,甚至更有表现力,为什么不用呢?...插画独有的情感吸引力 人是情感动物,看似理性的皮囊之下,几乎每个决定都是在情感和情绪的驱动下完成的。...而在诸多设计因素当中,插画在撬动用户情绪这一点上,有着无与伦比的效用——从线条、色彩到面部表情和曲线和动效,都在竭尽全力地为你阐述故事,营造氛围,将你拉到故事和场景当中去。 ? 6....一旦涉及到的动效和短视频,整个数字插画就开始具备更多的可能性了,不同的动效能带来截然不同的感觉和体验,更不用说这种玩法正贴合时下的流行趋势。 ?

    72060

    ivx动效按钮 基础按钮制作 01

    一、准备工作 首先创建一个相对定位应用: 接着创建一个页面: 随后我们切换一下屏幕,更改为 PC 端 web,因为手机移动端一般是没有鼠标悬浮事件的: 为了使按钮显示方便观察,我们设置水平和垂直对其为居中...点击后那么该按钮会出现一个阴影,来表达这个点击的反馈: 此时我们可以看到,在事件中是使用阴影来表达点击效果,接着我们预览当前项目,点击后效果如下: 此时我们发现,点击后并不会返回原样,那么此时我们只需要设置对应鼠标点击离开后的事件...如果你不需要做一些动效,那么直接添加文本即可;添加文本还需要注意要这个按钮行的水平、垂直居中: 若你觉得这个文本颜色没有对比度,直接更改背景色或文本颜色即可: 此时我们就完成了一个基础按钮,...此时更改行1名称为按钮: 那么若我们需要动效动效,我们需要增加一个绝对定位容器: 添加绝对定位容器后,会使整个页面错乱,并且文本也不好进行定位,此时若需要制作一个动效按钮,我们需要将这个这个绝对定位容器的高度置零

    2.7K10
    领券