问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何实现视差滚动效果的网页

发布网友 发布时间:2022-04-22 07:03

我来回答

3个回答

热心网友 时间:2022-04-20 06:02

视差滚动(Parallax Scrolling)是指多层背景以不同的速度移动,形成立体的运动效果,带来非常出色的视觉体验。一般把网页解剖为:背景层、内容层和悬浮层(贴图层)。
当滚动鼠标滚轮的时候,各图层以不同速度移动,形成视差的效果。这就是时差滚动的大致原理。

原理是这样,但落实到技术细节上时,实现的方法却各种各样。
我个*致归纳了一下:
1、以 “页面滚动条” 作为 “视差动画进度条” 的;
2、以 “滚轮刻度” 当作 “动画帧度” 去播放动画的(或者直接称为“隐藏进度条”);
3、鉴听mousewheel事件,事件被触发即播放动画,实现“翻页”效果;

下面的回答,均以上述1类的实现方式为基准。
为什么是1类呢?因为它很直观,和我们日常接触到的视频播放器是一样的:

下面,以Every Last Drop这个页面做为分析对象,去回答题主的问题。

做滚动网页的时候,是怎么实现页面的翻页?

首先,根据页面动画所需的分镜,去等比划分进度条。

例如:共有11个分镜,则分镜大致可以划分为:0%、10%、20%、30% .... 100%


但需要注意的是,整个滚动过程实际分为两个部分:分镜切换 和 分镜动画。

我们要预先划分好他们的比例,如:每一个分镜,2%的进度用于分镜切换,7%的进度用于分镜动画。

则进度大致可以划分为:

------------------------------------------

0%(初始,分镜1)

(消耗2%用于切换分镜)

2%(完全进入分镜2)

(消耗8%用于分镜动画的播放)

10%(分镜2动画播放完毕)

(消耗2%用于切换分镜)

12%(完全进入分镜3)

...(略)

------------------------------------------

按照上面的划分,当进度条滚动到10%的时候,就要开始进行分镜2到分镜3的切换,也就是所谓的翻页。当滚动到12%时,翻页结束。其他分镜如此类推。

(如果题主想问的是技术实现细节,估计要失望了!)



在做时间轴的时候,一般都要调用别人的js库。那么这个滚动页面,是不是也有一个js库?

随便在google搜一下,就搜到很多关于视差滚动插件的文章:10个优秀视差滚动插件

这里补充一点:做视差滚动页面绝对是体力活。

本着我为人人的分享精神,还是推荐一个我觉得好用凑合好用的时差滚动库:

Jarallax(Welcome to Jarallax.com)

设计思路清晰,API设计也很直观。依赖于jQuery1.7的版本,再高的版本就不支持了哦!

另外,作者貌似已经没有维护了...



滚动时每层不同滚动速率的实现原理是什么?

初中物理:单位时间相同,位移距离不同,速度也不同。



如何让滚动更加平滑?

这个问题就太大了,能重新开一个问题了。

这边我就简单回答一下吧(不细谈前端技术层面的优化,如:DOM数量、页面渲染优化这些)。

开头处,我提到的三种实现分类,实际上是这样一个情况:

1类是最自由的,用户甚至可以直接调整进度条,实现“快进”。
在这种设计下,用户鼠标滚轮的最小刻度,就是动画的一帧。因为不同浏览器之间,鼠标滚轮的最小刻度是不一样的。这就导致了,在不同浏览器之间,页面滚动过程中,动画播放的帧率是有差异的。如果遇到奇葩浏览器,鼠标滚动的最小刻度很大,动画甚至会出现“掉帧”的情况。
解决方法很简单,一般采取增加页面长度的方式,来稀释鼠标滚轮的最小刻度。
但还是会有一些情况出现,如户快拖动进度条时,“掉帧”的情况难免还是会出现。

3类的实现,滚轮只是动画的触发按钮。当用户滚动了一下鼠标,之前设计好的动画就开始播放。当播放结束后,对滚动事件的监听,才会重新被激活。这种设计,弱化了交互,但提供了更优质的动画展现。因为动画的播放时间和帧率不是用户控制的,是事先代码所设定好的。

2类就不说了,介乎与1和3之间。

简单的说,鱼(流畅)与熊掌(操控性)不可得兼。

热心网友 时间:2022-04-20 07:20

视差滚动(Parallax Scrolling)是指多层背景以不同的速度移动,形成立体的运动效果,带来非常出色的视觉体验。

“差异滚动分层视差,增加场景立体感”

空间感可以说视差滚动最重要的体现,是通过各个不同元素位置变化的速度不同,形成层次错落的感觉,不同的空间角度和用户体验,带来三位空间感。结合游戏产品能将游戏中的场景,利用视差滚动展示在网站中,带来立体感。比起单纯的图片,更能吸引用户。

“合理分块,清晰划分信息点”

从上面的三个视差网站,都一个共同的特点,就是信息划分十分清晰。第一屏将最关键的信息展示用标题展示,之后每一屏都有各自的信息点,均是对应产品、游戏推广的亮点。如手机将军令首页,依次的主题是安全密码、角色离线和锁定账号、手机即可绑定、免费、下载手机将军令。而且每一块对应都有效果在旁展示,十分生动。

“从上到下形成故事*觉”

 形成故事感这个特点,暂时在我们公司的网站中体现得还不太够。从国外流行的网站中,不少是利用故事情节或者逻辑方式层层推进式,将视差滚动串联起来。这一点我个人觉得很适合我们的游戏产品,现在游戏中不少是讲求剧情的。当网站拥有的剧情,能吸引用户往下滚动,不同提供新信息,而最后一屏可以说是临门一脚,当之前的推销完成后,用户是否有冲动试用呢?所以通常最后一屏是留给产品下载的入口和相关的链接。

视差滚动制作原理

“CCS3实现”

单纯用CSS3来实现,优点是开发时间短、性能和开发效率都比较好,但是缺点是无法兼容低版本的浏览器。

“JQuery实现”

用JS或JQuery,按照视差的原理,控制三个层不同的滚动速度,计算每层滚动时间,控制滚动的效果。优点是能兼容各个版本且效果可控性更好,但开发起来对制作者的要求相应高。

“插件实现方式”

网上有不少成熟的视差滚动的插件,如parallax-scrolling/,该插件适兼容性十分好。

热心网友 时间:2022-04-20 08:55

js特效吗 你能说清楚点吗
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
这文章该怎么写?阅读下面的材料并标题写一篇不小于500字的说明文,题目... 呼吸时候左胸口附近有刺痛 双峰县气象局单位介绍 依兰县农业委员会发展历程 离石区农业局历史沿革 11款最好用的字数计算工具推荐 怎么搭配棒球服才出彩? 黑色棒球服有哪些简约又舒适的搭配思路值得借鉴? 棒球服怎样搭配好看? 棒球服内搭什么衣服合适? 如何用电脑的键盘上的制表键? 如何用电脑的键盘上的制表键? 真正擅长制表的钟表品牌有哪些? 网页中嵌入的pdf 如何实现左右翻页效果?是在DW中... 真正擅长制表的钟表品牌有哪些? JS翻页效果按钮怎么改 用HTML5做一个翻书效果,能实现吗? 三大复杂的制表技艺有哪些 三大复杂的制表技艺有哪些 如何用js做翻页效果 有四大制表集团,你手上品牌手表属哪家? 有四大制表集团,你手上品牌手表属哪家? 怎么用jquery做上下翻页 HTML图片翻页效果怎么做! 这样的源码谁有,帮我复... 如何实现css+div模拟下拉列表选择框的分页效果 tp的翻页按钮太难看了,在哪里可以改css样式? 翻页效果竖排居中变横排居中 帮我看一下css的代码,就是上一页123下一页的效果... html5上下滑动“翻页”实现,是真正的翻页 css transform 怎样让效果不会倒回去 中国人寿 商业险条款 HTML分页的效果实现 制表键是哪个 制表键是哪个 人寿车险公司都有推出哪些车险?商业车险中哪些险... 如何用office制表 如何用office制表 在excel里面怎么制表? 什么是商业人寿保险 microsoft excel 工作表最基本的制表 microsoft excel 工作表最基本的制表 商业人寿保险是什么 商业险都保什么 16万存银行,月息是1.5息,每月是多少钱? 13万元1.55利息借3年,每个月还多少,公式怎么算 13万块钱一年的利息是多少 《居住证》是否有有效期限? 1.5的利息是多少 居住证的有效期限是多久 1.5分利息1万块一个月多少钱