waypoint+animate元素滚动监听触发插件实现页面动画效果
最近在做一个官网类型滚动加载动画,使用到waypoint监听事件插件和animate动画样式,两者结合完美实现向下滚动加载动画,但是没有做向上滚动撤消动画,留待以后有空研究
首先来介绍下jquery.waypoint.js工具,这是一个实时监听页面滚动事件,它依赖于jquery,通过jquery添加animate的动画样式来实现动画效果
注意:animate动画是通过css3来现实,低版本的浏览器就emmm....
来个简单的粟子
<!DOCTYPE html>
<html lang="en">
<head>
<title>Title</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="frame/bootstrap-3.3.7-dist/css/bootstrap.min.css">
<link rel="stylesheet" href="css/animate.css">
</head>
<body>
<div class="container" style="padding-top: 1200px;padding-bottom: 300px">
<h1 class="animate-box text-center">Title</h1>
</div>
</body>
<script type="text/javascript" src="frame/jQuery-2.1.4.min.js"></script>
<script type="text/javascript" src="frame/jquery.waypoints.min.js"></script>
<script>
$('.animate-box').waypoint( function( direction ) {
$(this.element).addClass("wobble animated")
} , { offset: '85%' } );
</script>
</html>
waypoint方法是监听该元素的事件,offset参数是该元素在页面可视范围内的位置,wobble 是动画的实现方法,animated是动画的执行方法,二者缺一不可
来张简单的说明图

来个更复杂点的粟子
<style>
.animate-box {
opacity: 0;
}
</style> <div class="row aboutus-list">
<div class="col-lg-4 col-xs-4 fadeInUp-tip animate-box itme-adimate" data-animate-effect="fadeInUp">
<span class="aboutus-service sp-img"></span>
<h3>信息化xx</h3>
<div class="fade-text">
信息化实现对xxx流程
化管理
</div>
</div>
<div class="col-lg-4 col-xs-4 fadeInUp-tip animate-box itme-adimate" data-animate-effect="fadeInUp">
<span class="aboutus-resources sp-img"></span>
<h3>智能化xx</h3>
<div class="fade-text">
实现对xx工作量化及监督
</div>
</div>
<div class="col-lg-4 col-xs-4 fadeInUp-tip animate-box itme-adimate"data-animate-effect="fadeInUp" >
<span class="aboutus-technology sp-img"></span>
<h3>智慧化xxx</h3>
<div class="fade-text">
结合信息化运营和智能化监管,实现对机
构统一实现
</div>
</div>
</div> <div class="row aboutus-list aboutus-list-3">
<div class="col-lg-3 col-xs-3 col-funds animate-box itme-adimate" data-animate-effect="fadeInUp">
<span class="aboutus-service sp-img"></span>
<p>智能xx</p>
<div class="text-p">信息化实现对xxx中多个环节运营流程
化管理</div>
</div>
<div class="col-lg-3 col-xs-3 col-funds animate-box itme-adimate" data-animate-effect="fadeInUp">
<span class="aboutus-resources sp-img"></span>
<p>智能xxx</p>
<div class="text-p">信息化实现对机构内部人、事、物的管理
及xxx过程中多个环节运营流程
化管理</div>
</div>
<div class="col-lg-3 col-xs-3 col-funds animate-box itme-adimate" data-animate-effect="fadeInUp">
<span class="aboutus-technology sp-img"></span>
<p>健康xxx</p>
<div class="text-p">信息化实现对机构内部人、事、物的管理
及xxx过程中多个环节运营流程
化管理</div>
</div>
<div class="col-lg-3 col-xs-3 col-funds animate-box itme-adimate" data-animate-effect="fadeInUp">
<span class="aboutus-cloudbeacon sp-img"></span>
<p>xxxx</p>
<div class="text-p">信息化实现对机构内部人、事、物的管理
及xxx过程中多个环节运营流程
化管理</div>
</div>
</div>
var i = 0;
$('.animate-box').waypoint( function( direction ) {
if( direction === 'down' && !$(this.element).hasClass('animated-fast') ) {
i++;
$(this.element).addClass('item-animate');
setTimeout(function(){
$('body .animate-box.item-animate').each(function(k){
var el = $(this);
setTimeout( function () {
var effect = el.data('animate-effect');
el.addClass(effect + ' animated');//读取自定义属性值中设定的动画名称添加到元素类中 el.removeClass('item-animate');
}, k * 200, 'easeInOutExpo' );//根据顺序分别为每个元素添加过渡动画时间
});
}, 100);
}
} , { offset: '85%' } );
这个粟子可以监听7个盒子元素,通过jquery读取自定义属性data-animate-effect的值来添加不同的动画,但是因为动画位置不同,
会根据direction内部参数和animated-fast类来决定当前滚动方向是否正确和是否重复执行
,同时在定时器的工作下根据元素顺序添加累加执行时间来实现逐步过渡效果
特别注意:因在fadeInUp动画中是由透明度0过渡到1,所以初始时元素的透明度必须设置成0,否则没有效果
上一下过渡动画效果

waypoint+animate元素滚动监听触发插件实现页面动画效果的更多相关文章
- Bootstrap滚动监听(Scrollspy)插件
Bootstrap滚动监听(Scrollspy)插件,即自动更新导航插件,会根据滚动条的位置自动更新对应的导航目标
- Bootstrap 下拉菜单和滚动监听插件
一.下拉菜单 常规使用中,和组件方法一样,代码如下: //声明式用法 <div class="dropdown"> <button class="btn ...
- Bootstrap学习js插件篇之滚动监听
1.滚动监听 案例 滚动监听插件可以根据滚动条的位置自动更新所对应的导航标记.Bootstrap中文网左侧就是一个滚动监听的例子. 代码段: <nav id="navbar-examp ...
- Bootstrap-Plugin:滚动监听(Scrollspy)插件
ylbtech-Bootstrap-Plugin:滚动监听(Scrollspy)插件 1.返回顶部 1. Bootstrap 滚动监听(Scrollspy)插件 滚动监听(Scrollspy)插件,即 ...
- 第二百四十四节,Bootstrap下拉菜单和滚动监听插件
Bootstrap下拉菜单和滚动监听插件 学习要点: 1.下拉菜单 2.滚动监听 本节课我们主要学习一下 Bootstrap 中的下拉菜单插件,这个插件在以组件的形式我们 已经学习过,那么现在来看看怎 ...
- jQuery页面滚动监听事件及高级效果插件
jQuery页面滚动监听事件及高级效果插件 1. One Page scroll (只适用于上下焦点图)http://www.thepetedesign.com/demos/onepage_scrol ...
- vue插件——滚动监听 vue-scrollwatch
造轮子的目的: 做项目的时候需要一个滚动监听的功能,html结构已经都写好了,不想使用vue组件的方式来写,因为不想改造html结构,于是花了几个小时做了一个简单的,使用vue指令方式来做的,项目上够 ...
- uniapp滚动监听元素
鸽了这么久,一晃2个月过去了.自考+上班没时间记录. 前不久看到移动官网上的时间轴效果,看起来不错,我也来试着做一下. 需要元素滚动到视野内加载动画. 插件地址 https://ext.dcloud. ...
- Bootstrap入门(二十六)JS插件3:滚动监听
很多时候我们在浏览一些网页的时候,导航条会根据我们浏览网页的进度而发生不同的变化,这种就是滚动监听. 你的顶栏导航,添加data-spy="scroll"到您想要刺探(最典型的是这 ...
随机推荐
- day2-python 登录
# username = 'niuhanyang' # 写一个判断登录的程序: # 输入: username # password # 最大错误次数是3次,输入3次都没有登录成功,提示错误次数达到上限 ...
- DC课程目标
- 五一4天就背这些Python面试题了,Python面试题No12
第1题: Python 中的 os 模块常见方法? os 属于 python内置模块,所以细节在官网有详细的说明,本道面试题考察的是基础能力了,所以把你知道的都告诉面试官吧 官网地址 https:// ...
- GoF23种设计模式之结构型模式之代理模式
一.概述 为其他对象提供一种代理以控制对这个对象的访问. 二.适用性 1.远程代理(RemoteProxy):为一个对象在不同的地址空间土工局部代表. 2.虚代理(VirtualProxy):根据需要 ...
- (转)iOS平台UDID方案比较
苹果在iOS6中禁用了[UIDevice uniqueIdentifier],在iOS7中又把mac地址的获取给堵上了.没办法,毕竟人家是老大,说不让你用,你也没办法. 在这边总结一下现有的一部分 ...
- hiho 1050 树的直径
#1050 : 树中的最长路 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 上回说到,小Ho得到了一棵二叉树玩具,这个玩具是由小球和木棍连接起来的,而在拆拼它的过程中, ...
- flask-mail(qq邮箱)
from flask_mail import Mail,Message app.config['MAIL_SERVER']='smtp.qq.com' app.config['MAIL_PORT'] ...
- clr(Windows 运行时和公共语言运行时)
Windows 运行时 编译器使用 COM 引用计数机制来确定对象是否不再使用并可以删除. 因为从 Windows 运行时接口派生的对象实际上是 COM 对象,所以这是可行的. 在创建或复制对象时 ...
- 封装BackgroundWorker控件(提供源代码下载,F5即可见效果)
Demo源码 背景 经常做些小程序或者小DEMO的时候会用到异步,多线程来执行一些比较耗时的工作同时将进度及时进行反馈.我通常会使用位于[ System.ComponentModel]命名空间下的Ba ...
- 29、在android中采用动画方案来弹出窗口
1.自定义style 2.使用方法: buttonWhat.setOnClickListener(new OnClickListener() { @Override public void onCli ...