不用js,就使用css3实现html块的淡入淡出
使用animate.css库就可以了
如何再需要的时候,再出现动画效果呢?
使用wow.min.js就可以了,就可以实现,用户滚动的时候,再出现动画效果。
另外强力推荐一个新的js插件scrollReveal.js,比wow.js更进一步
页面变化的时候,重新加载效果
<script>
$(window).resize(function () {
window.location.reload();
})
</script>
具体使用教程
官网加动画特效,哇哦,下面我介绍一下WOW.js
官网地址:https://www.delac.io/wow/ 点击github可以找到wow.js和wow.min.js 以及animate.css者animate.min.css
wow.js依赖于animate.css,首先在头部引用animate.css或者animate.min.css。
在body底部引入wow.js 且初始化一下:
<script src="js/wow.min.js"></script>
<script>
new WOW().init();
</script>
如果需要自定义配置,可如下使用:
var wow = new WOW({
boxClass: ‘wow‘,
animateClass: ‘animated‘,
offset: 0,
mobile: true,
live: true
});
wow.init();
配置
属性/方法 | 类型 | 默认值 | 说明 |
---|---|---|---|
boxClass | 字符串 | ‘wow’ | 需要执行动画的元素的 class |
animateClass | 字符串 | ‘animated’ | |
offset | 整数 | 0 | 距离可视区域多少开始执行动画 |
mobile | 布尔值 | true | 是否在移动设备上执行动画 |
live | 布尔值 | true | 异步加载的内容是否有效 |
注意new WOW().init();中的WOW要大写,否则就没效果了。 |
1、在css下方js上方写需要动画的元素(必须设置为块状或者行内块状!必须设置为块状或者行内块状!必须设置为块状或者行内块状!),并添加class类名。
类名前面的wow是每一个带动画的元素都要加的,slideInLeft就是说明动画样式。后面的data-wow-duration(动画持续时间)、data-wow-delay(动画延迟时间)、data-wow-offset(元素的位置露出后距离底部多少像素执行)和data-wow-iteration(动画执行次数)这四个属性可选可不选。data-wow-duration:更改动画持续时间
data-wow-delay:动画开始前的延迟
data-wow-offset:开始动画的距离(与浏览器底部相关)
data-wow-iteration:动画的次数重复(无限次:infinite)
class类 | 具体效果 |
---|---|
wow rollIn | 从左到右、顺时针滚动、透明度从100%变化至设定值 |
wow bounceIn | 从原位置出现,由小变大超出设定值,再变小小于设定值,再回归设定值、透明度从100%变化至设定值 |
wow bounceInUp | 从下往上、窜上来以后会向上超出一部分然后弹回去、透明度为设定值不变 |
wow bounceInDown | 从上往下、掉下来以后会向下超出一部分然后弹跳一下、透明度为设定值不变 |
wow bounceInLeft | 从左往右、移过来以后会向右超出一部分然后往左弹一下、透明度为设定值不变 |
wow bounceInRight | 从右往左、移过来以后会向左超出一部分然后往右弹一下、透明度为设定值不变 |
wow slideInUp | 从下往上、上来后固定到设定位置、透明度为设定值不变(up是从下往上)(如果元素在最下面,会撑开盒子高度) |
wow slideInDown | 从上往下、上来后固定到设定位置、透明度为设定值不变 |
wow slideInLeft | 从左往右、上来后固定到设定位置、透明度为设定值不变(left却是从左往右) |
wow slideInRight | 从右往左、上来后固定到设定位置、透明度为设定值不变 |
wow lightSpeedIn | 从右往左、头部先向右倾斜,又向左倾斜,最后变为原来的形状、透明度从100%变化至设定值 |
wow pulse | 原位置放大一点点在缩小至原本大小、透明度为设定值不变(配合动画执行次数属性效果更佳) |
wow flipInX | 原位置后仰前栽、透明度从100%变化至设定值 |
wow flipInY | 原位置左右旋动、透明度从100%变化至设定值 |
wow bounce | 上下抖动、透明度为设定值不变(配合动画执行次数和动画持续时间属性可以实现剧烈抖动亦或是慢慢抖) |
wow shake | 左右抖动、透明度为设定值不变(配合动画执行次数和动画持续时间属性可以实现剧烈抖动亦或是慢慢抖) |
wow swing | 从右往左、头部先向右倾斜,又向左倾斜,最后变为原来的形状、透明度为设定值不变 |
wow bounceInU | 原位置不变、直接从不显示到显示(无过过渡效果) |
wow wobble | 原位置不变、类似于一个人站在那左右晃头、透明度为设定值不变 |
2、其中data-wow-offset="数值"中的数值是动画完成后元素距离显示器底部的位置,而不是距离浏览器窗口底部的位置。 | |
有的网站采用全屏滚动的fullpage插件与wow相结合的方法,实现的效果比较酷炫。我们完全可以仿写。 |
但是使用fullpage.js下wow.js无效失效没动作
问题出在fullpage隐藏了滚动条,将滚动条开启即可,把scrollBar设置为true,代码如下
$(‘#fullpage‘).fullpage({
scrollBar:true;
});
最后利用css将滚动条隐藏,将html添加overflowhidden,代码如下
html{
overflow:hidden;
}
自己写的html代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>使用wow做的项目</title>
<link rel="stylesheet" href="css/animate.css">
<style>
.container{
width:800px;
margin:0 auto;
}
.container ul{
display:flex;
display:-webkit-flex;
justify-content: space-between;
flex-wrap: wrap;
}
.container ul li{
width:300px;
height:300px;
margin-bottom:40px;
list-style:none;
border-radius:50%;
text-align:center;
vertical-align:middle;
align-items: center;
line-height:300px;
background-color:pink;
}
.container ul li:nth-child(4n){
background-color:#409EFF;
}
.container ul li:nth-child(4n+1){
background-color:#67C23A;
}
.container ul li:nth-child(4n+2){
background-color:#E6A23C;
}
</style>
</head>
<body>
<section class="container">
<ul>
<li class="wow bounceInLeft">啊啊啊</li>
<li class="wow bounceInRight"></li>
<li class="wow bounceIn"></li>
<li class="wow bounceInUp"></li>
<li class="wow bounceInDown"></li>
<li class="wow slideInUp"></li>
<li class="wow slideInDown"></li>
<li class="wow slideInLeft"></li>
<li class="wow slideInRight"></li>
<li class="wow lightSpeedIn"></li>
<li class="wow pulse"></li>
<li class="wow flipInX">哦哦哦</li>
<li class="wow flipInY"></li>
<li class="wow bounce"></li>
<li class="wow shake"></li>
<li class="wow wobble"></li>
<li class="wow rollIn"></li>
<li class="wow fadeInUpBig" data-wow-delay="0.3s"></li>
<li class="wow fadeInUpBig" data-wow-delay="0.6s">呃呃呃</li>
<li class="wow fadeInUpBig" data-wow-delay="0.9s"></li>
<li class="wow fadeInUpBig" data-wow-delay="1.2s"></li>
<li class="wow fadeInUpBig" data-wow-delay="1.5s"></li>
</ul>
</section>
<script src="js/wow.min.js"></script>
<script>
new WOW().init();
</script>
</body>
</html>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
2020-04-06 vue的本质,是html标签三要素的增删改查?标签名,标签属性和标签内容