bootstrap动态效果WOWanimate插件
随着HTML5规范的不断完善,围绕着这⼀⽣态有很多实⽤的框架,极⼤的提⾼了我们的开发效率,常见的框架代表有:UI层⾯的有Bootstrap、Yui、JqueryUI、CSS3Lib等,JS层⾯的有JQuery、Zeptojs、Angularjs、React、Vuejs等,还有很多常⽤的动画库、字体图标,⽐如:Animate、Wow、Iconfont、Iconmoon等。
这些前端框架典型的特点:简单易⽤、相通性强,我们可以在学习⼀个框架后快速上⼿其他框架。
主要知识点:Animate、WOW.js、 scrollReveal.js、Zepto.js、Bootstrap、 jQuery 等
1.Animate
Animate.css是⼀个css动画样式库,其⽬标是让CSS动画像喝⽔⼀样容易(Just-add-water CSS Animation)。
animate.css is a bunch of cool, fun, add cross-brower animations foy you to use in your projects. Greate for emphasis, home pages, sliders, and general jus-add-water-awesomeness.(animate.css是有⼀堆狂拽酷炫吊炸天、跨浏览器的动画特效的综合动画库) animate.css是⼀个来⾃国外的CSS3动画库,它预设了抖动(shake)、闪烁(flash)、弹跳(bounce)、翻转(flip)、旋转(rotateIn \/ rotateOut)
、淡⼊淡出(fadeIn \/ fadeOut)等多达70多种动画特效,⼏乎包含了所有常见的动画特效。
重点:浏览器兼容,animate.css底层是通过css3实现的,当然是只兼容⽀持CSS3 animate属性的浏览器: IE10+、Firefox、Chrome、Opera、Safari
jquery是什么有什么作用官⽹:
github:
1.wow
官⽹:
github:
1 核⼼作⽤:让页⾯滚动更有趣
通过WOW.js,可以在页⾯逐渐向下滚动的过程中逐渐释放这些动画效果。也就是说:当我们向下滚动页⾯时,可以省去很多判断条件,让CSS动画逐渐展⽰出来。
2 特点
轻量级类库,不依赖jQuery,超简单的安装和使⽤,与animate.css配合,只需要短短⼏⾏代码就可以实现很多特效。容易定制,我们可以改变动画去设置喜欢的风格、延迟、长度、偏移和迭代等等。
3 兼容性考虑
因为,WOW要和Animate配合使⽤,所有其也只兼容⽀持CSS3 animate属性的浏览器:IE10+、Firefox、Chrome、Opera、Safari。A.WOW的常⽤属性
data-wow-delay: 动画开始前延迟
data-wow-duration: 动画持续时长
data-wow-iteration: 动画重复次数
data-wow-offset: 浏览器底部到指定item的顶部的距离(偏移量)
来搞定它? 可以加⼊data-wow-duration(动画持续时间)和data-wow-delay(动画延迟时间)等属性。⽐如:
<div class="wow slideInLeft" data-wow-duration="3s" data-wow-delay="1s"></div>
<div class="wow slideInRight" data-wow-iteration="5"></div>
data-wow-offset:⽤于决定当前的元素在滚动的时候 , 到达怎样的位置出现(是在滚动之前出现、滚动之后出现,还是滚动的时候出现)
B.WOW的默认配置参数
var wow = new WOW({
boxClass: 'wow', // 动画元素的CSS类(默认类名wow)
animateClass:'animated', // 动画CSS类(默认类名animated)
offset: 0, // 距离可视区域多少开始执⾏动画(默认为0)
mobile: true, // 是否在移动设备上执⾏动画(默认是true)
});
wow.init();
WOW.js实例的动画只能加载⼀次,如果要重新执⾏动画必须要进⾏刷新。
3.scrollReveal
scrollReveal是⼀个兼容PC端和移动设备的滚动-动画库。不同的是 WOW.js 的动画只播放⼀次,⽽ scrollReveal.js 的动画可以播放⼀次或⽆限次;
1.特点
scrollReveal同时兼容PC端和移动端;
0依赖(不依赖于jQuery,也不依赖于animate.css);
定制性⾼,使⽤简单⽅便快捷。
2.浏览器兼容
虽然scrollReveal.js不依赖于animate.css,但是它的动画也是⽤CSS3创建的,所以依然需要⽀持HTML5和CSS3⽐较好的浏览器,⽐如:IE10+、Firefox、Chrome、Opera、Safari。
官⽹:
github:
对应的代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
*{
margin: 0;
padding: 0;
}
#main {
width: 800px;
margin: 20px auto;
/*background-color: skyblue;*/
list-style: none;
}
#main .box{
width: 200px;
height: 300px;
background-color: skyblue;
float: left;
margin: 10px;
display: flex;
justify-content: center;
align-items: center;
}
</style>
</head>
<body>
<ul id="main">
<li class="box">1</li>
<li class="box">2</li>
<li class="box">3</li>
.........
<li class="box">30</li>
</ul>
</script>
</body>
</html>
常⽤的参数
var config = {
reset: false, // 滚动⿏标时,动画开关(如果为true, 动画可以执⾏n次)
origin: 'bottom', // 动画开始的⽅向
duration: 500, // 动画持续时间
delay: 0, // 延迟
rotate: {x:0, y:0, z:0}, // 过度到0的初始⾓度
opacity: 0, // 初始透明度
scale: 0.9, //缩放
easing: 'cubic-bezier(0.1, 0.2, 0.3, 0.4)', // 动画效果'ease', 'ease-in-out','linear'... // 回调函数
//动画开始前调⽤
beforeReveal: function(domEl){},
//滚动⿏标之前调⽤
beforeReset: function(domEl){},
//动画开始后调⽤
afterReveal: function(domEl){},
//滚动⿏标之后调⽤
afterReset: function(domEl){}
};
window.sr = ScrollReveal();
给某个盒⼦设计动画
var config = {
reset: true,
// rotate: {x:50, y:70, z:50}, // 过度到0的初始⾓度
};
var config1 = {
reset: true,
rotate: {x:0, y:0, z:90}, // 过度到0的初始⾓度
scale: 2,
duration: 1500, // 动画持续时间
};
//1.拿到ScrollReveal对象
window.sr= ScrollReveal();
//2.开始动画
/
/3.开始动画
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论