页面滚动动画库,快看看

本文属xxKarina原创,转载请注明
个人博客地址:https://xxkarina.github.io/

前端涉及的领域真的很广,但是粗略的划分的话,其实就是简单的三要素:html、css、js,当然,这些基本的Web前端技术是远远不足以让你成为一名优秀的工程师的

要做的更好的话,你需要在掌握这些技术的同时还需要熟悉他们在不同浏览器的兼容情况以及渲染原理和存在的bug,在你的知识结构中,应该是包含网络性能优化,SEO,服务端的基本知识以及一些流行的前端开发框架,发展趋势等,实现代码的可维护性、组件的易用性、分层语义模板和浏览器分级支持

文章要点:

  • 页面滚动动画库基础知识
  • 页面滚动动画库有什么怎么用

页面滚动动画库基础知识

上面提及的技术都是基于你的前端的基础之上的,也就是说,你最基本的就是要会开发一个用户体验好的网页,往往网页中是少不了基础的动画的,但是我们去实现动画的话,会存在,成本高,实现效果不佳的问题,于是这个时候就有必要使用到一些 动画库了,这些动画库基本能够与满足我们的需求,那今天,我们就来看看几个常用的页面滚动动画库

动画其实有很多种制作手法,腾讯ISUX团队的一篇博客就做了就简单的总结《H5动效的常见制作手法》,里面分别简单的介绍了8中动效制作手法

分别有:GIF(细节),逐帧动画(较复杂)、SVG(线条)、Canvas、Flash->Canvas(绘图)、Video(视频)、Javascript(辅助)、CSS3(平面)

关于css3和JavaScript的制作手法真的是值得一提的
使用css3制作动画的时候要熟悉其三大属性的使用:
Transform 变形,Transition 过渡,和Animation 动画

Transform变形需要掌握五大特性:

  • rotate 旋转 transform: rotate(45deg);
  • skew 扭曲 transform: skew(45deg);
  • scale 缩放 transform: scale(1, 0.5);
  • translate 移动 transform: translate(10px, 20px);
  • matrix 矩阵变形 transform: matrix(a, c, b, d, 水平偏移距离, 垂直偏移距离);
    至于前面的abcd的话就是矩阵的元素值
    abcd表示的矩阵

以上提及的变形五大特性其实本质上都是基于matrix()方法实现的,虽然整合起来会方便很多,但是也会存在理解上的困难,需要花上一定的时候去进行计算,但是,理解transform中matrix()矩阵方法有利于透彻理解CSS3的transform属性,所以想了解的童鞋赶紧啦。

Transition 过渡的特点在于其平滑性:

  • transition-property: 指定过渡的属性值,比如transition-property:opacity就是只指定opacity属性参与这个过渡。
  • transition-duration: 指定这个过渡的持续时间
  • transition-delay: 延迟过渡时间
  • transition-timing-function: 指定过渡动画缓动类型,有ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier()

其中,linear线性过度,ease-in由慢到快,ease-out由快到慢,ease-in-out由慢到快在到慢。

Animation动画主要是有六大属性:

animation 属性是一个简写属性,用于设置六个动画属性:
animation-name:选择器的 keyframe 名称
这个要怎么理解呢,我们来看一个小 demo,获取有助于你理解

<style>
.box
{
width:100px;
height:100px;
background:red;
position:relative;
/* 下面就是可以设置keyframe名称啦 */
animation:mymove 5s infinite;
-webkit-animation:mymove 5s infinite; /*Safari and Chrome*/
}
/* 然后你就可以根据你设置的相应的keyframe名称去实现你想要的效果 */
@keyframes mymove
{
from {left:0px;}
to {left:200px;}
}
@-webkit-keyframes mymove /*Safari and Chrome*/
{
from {left:0px;}
to {left:200px;}
}
</style>
<div class="box></div>

animation-duration:完成动画所花费的时间(毫秒)
animation-timing-function:动画的速度曲线
animation-delay:动画开始之前的延迟
animation-iteration-count:动画应该播放的次数
animation-direction:是否应该轮流反向播放动画

页面滚动动画库是有什么怎么用?

  • 动画库一:animate.css
    说到动画,大家脑海估计都会出现 animate.css,是的,animate.css是一个有趣的,跨浏览器的css3动画库,很值得我们在项目中使用

animate() 方法执行 CSS 属性集的自定义动画。
该方法通过CSS样式将元素从一个状态改变为另一个状态。CSS属性值是逐渐改变的,这样就可以创建动画效果。
注意:只有数字值可创建动画

它有四个主要的属性可供使用:
styles(css样式值)、speed(动画速度:具体毫秒数、normal、slow、fast)、easing(swing、linear)、callback(回掉函数)

使用步骤:

  • 引入animate css文件 <link rel="stylesheet" href="animate.min.css">
  • 给指定的元素加上指定的动画样式的类名 <div class="animated bounceOutLeft"></div>
  • 使用jq配合操作 addClass():使用jq配合操作的一个好处就是,可以控制它,比如要实现一个简单的淡入淡出,就可以配合setTimeout来实现啦
  • 动画库二:wow.js

前面提及的animate确实是很不错的一个库,但是有时候我们需要根据我们自己的产品去调整里面的一下动画效果的话,恐怕就不是那么理想了,于是,在这个时候我们就可以使用wow.js这个动画库改变动画设置风格、延迟、长度、偏移和迭代等,通过wow,可以在页面滚动的过程中逐渐释放这些动画效果。

wow具备以下优点:

  • 轻量级
  • 使用简单

使用步骤:

  • 引入文件 <script src="wow.js"></script>
  • 给指定的元素加上指定的动画样式的类名<div class="wow slideInLeft"></div>
  • 还可以加上一些需要的动画效果 data-wow-duration="2s"
  • 初始化(全局配置) new WOW().init();
  • 动画库三:aos.js

aos.js是一款效果超赞的页面滚动元素动画jQuery动画库插件。该动画库可以在页面滚动时提供28种不同的元素动画效果,以及多种easing效果。在页面往回滚动时,元素会恢复到原来的状态。

使用步骤:

  • 引入样式文件 <link rel="stylesheet" href="aos.css" />
  • 引入js文件 <script src="aos.js"></script>
  • 添加属性 <div aos="fade-zoom-in" aos-offset="200" aos-easing="ease-in-sine" aos-duration="600">
  • 初始化(全局配置)AOS.init()
  • 禁用AOS AOS.init({ disable: 'mobile' }) (可选参数:mobile、phone或tablet)

aos 有各种动画效果,可以粗略的分为六大类

  • 淡入淡出动画(fade)
  • 翻转动画(flip)
  • 滑动动画(slide)
  • 缩放动画(zoom)
  • 锚位置(top-bottom)
  • easing动画(ease、linear)
  • 动画库四:pagePiling.js

全屏滚动效果在网页开发中的时候也是很常见的,是最近非常流行的网页设计形式,这款 jQuery 插件可以帮助前端开发人员轻松实现全屏滚动效果。支持所有的主流浏览器,包括IE8+,支持移动设备

使用步骤:

  • 引入样式文件 <link rel="stylesheet" href="pagepiling.css" />
  • 引入js文件 <link rel="stylesheet" href="pagepiling.js" />
//代码示例
<div id="pagePiling">
    <div class="section">Some section</div>
    <div class="section">Some section</div>
    <div class="section">Some section</div>
    <div class="section">Some section</div>
</div>
<script>
$(function(){
  $('#pagePiling').pagepiling({
    sectionsColor: ['#00d8cc', '#00c13f', '#ff7d23', '#ff1d77'],
    anchors: ['page1', 'page2', 'page3', 'page4']
  });
});

</script>
  • 动画库五:Parallax.js

Parallax.js是javascript视觉差特效引擎插件。可以制作出非常炫酷的视觉差特效,检测智能设备的方向

小demo:

<script src='./js/justParallax.js' type='text/javascript'><script>
<script>
  //默认设置
  speed: 8; // 滚动背景的速度,1比10快
  vertical: true; //如果背景垂直滚动,则设置为true
  vertical_inversed: false; // 如果垂直方向应该颠倒,则设置为true
  horizontal: true; // 如果背景水平滚动,则设置为true
  horizontal_inversed: false; // 如果水平方向应该颠倒,则设置为true
  //使用justParallax.js的一个例子
  var settings = {
    speed: 5,
    vertical: true,
    vertical_inversed: true,
    horizontal: true,
    horizontal_inversed: false
  };
  initParallax(settings);
</script>

掌握了上面这些,你就可以很轻松的去实现一些简单的网页啦
加油!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容

  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,301评论 0 11
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,727评论 0 2
  • CSS 中的 transform,transition 和 animation 是分开的三部分内容,其中 tran...
    单纯的土豆阅读 712评论 0 4
  • 春天来了,总感觉应该要心情美丽。可是不知道为什么老是会不由自主的发脾气,坏情绪就像姨妈每月定时到来。眉头紧锁,苦着...
    苏溪阅读 796评论 2 0
  • 不知道,你是否也曾觉得,偌大的世界,拥挤的人潮,却没有一个能理解你的人,没有一处你的容身之所。 是呀,越长...
    千剩之王良辰美景阅读 184评论 0 0