jQuery动画特效实例教程


Posted in Javascript onAugust 29, 2014

本文以实例形式详细讲述了jQuery动画特效的实现方法。分享给大家供大家参考之用。具体方法如下:

1.自制折叠内容块

内容块如下:

<div class="module">
  <div class="caption">
    <span>标题</span>
    <img src="rollup.gif" alt="rollup" title="rolls up this module"/>
  </div>
  <div class="body">
    近日,《体坛周报》记者马德兴在接受天津体育频道《体坛新视野》节目采访时表示自己对恒大[微博]的情况比较担忧,恒大统治力比上赛季下降了很多,恒大外援存在位置重叠的问题,客场不输给西悉尼流浪者就是一个可以接受的结果。该节目称恒大联赛3连胜胜之不武,恒大的惹不起不过尔尔,恒大失去了对其它球队压倒性的优势,能力下降是恒大霸主地位有所动摇的根源所在。
  </div>
</div>

给img元素绑定点击事件。

$(function() {
  $('div.caption img').click(function () {
 //先找到img的父级元素,再找该父级元素的子元素
 var $body = $(this).closest('div.module').find('div.body');
 if ($body.is(':hidden')) {
   $body.show();
 } else {
   $body.hide();
 }
  });
});

运行效果如下图所示:

jQuery动画特效实例教程

切换元素的显示状态,还可以用toggle方法。

$(function() {
  $('div.caption img').click(function () {
 $(this).closest('div.module').find('div.body').toggle();
  });
});

以上是没有动画效果的,有时候感觉会很唐突。实际上,show,hide,toggle方法都可以有动画效果。比如:

$(function() {
  $('div.caption img').click(function () {
 $(this).closest('div.module').find('div.body').toggle('slow');
  });
});

又比如:

$(function() {
  $('div.caption img').click(function () {
 $(this).closest('div.module').find('div.body').toggle('slow', function() {
   $(this).closest('div.module').toggleClass('rolledup', $(this).is(':hidden'))
 });
  });
});

2.使元素淡入淡出

fadeIn(speed, callback)    
fadeOut(speed, callback)
fadeTo(speed, opacity, callback)

3.上下滑动元素

slideDown(speed, callback)
slideUp(speed, callback)
slideToggle(speed, callback)

4.停止动画

stop(clearQueue, gotoEnd)

5.创建自定义动画

animate(properties, duration, easing, callback)

$('.classname').animate({opacity:'toggle'},'slow')

如果写一个扩展函数。

$.fn.fadeToggle = function(speed){
  return this.animate({opacity:'toggle'},'slow');
}

6.自定义缩放动画

$('.classname').each(function(){
  $(this).animate({
    width: $(this).width() * 2,
    height: $(this).height() * 2
  });
});

7.自定义掉落动画

$('.classname').each(function(){
  $(this)
    .css("position","relative")
    .animate({
      opacity: 0,
      top: $(window).height() - $(this).height() - $(this).position().top
    },'slow',function(){ $(this).hide(); })
});

8.自定义消散动画

$('.classname').each(function(){
  var position = $(this).position();
  $(this)
    .css({
      position: 'absolute',
      top: position.top,
      left:position.left
    })
    .animate({
      opacity: 'hide',
      width: $(this).width()*5,
      height: $(this).height()*5
      top: position.top - ($(this).height() * 5 / 2),
      left: position.left - ($(this).width() * 5 /2)
    },'normal');
});

9.队列中的动画

//动画插入队列
$('img').queue('chain', function(){});
$('img').queue('chain', function(){});
$('img').queue('chain', function(){});
$('img').queue('chain', function(){});

$('button').click(function(){
  $('img').dequeue('chain'); //删除队列中的动画
})

cleaeQueue(name)//删除所有未执行的队列中的动画
delay(duration, name)//为队列中所有未执行的动画添加延迟

相信本文所述对大家的jQuery程序设计有一定的借鉴价值。

Javascript 相关文章推荐
解析dom中的children对象数组元素firstChild,lastChild的使用
Jul 10 Javascript
js图片实时加载提供网页打开速度
Sep 11 Javascript
Bootstrap 模态框(Modal)插件代码解析
Dec 21 Javascript
js获取当前页的URL与window.location.href简单方法
Feb 13 Javascript
Js自动截取字符串长度,添加省略号(……)的实现方法
Mar 06 Javascript
vuex的使用及持久化state的方式详解
Jan 23 Javascript
jQuery.validate.js表单验证插件的使用代码详解
Oct 22 jQuery
JavaScript剩余操作符Rest Operator详解
Jul 20 Javascript
Vue+Koa2 打包后进行线上部署的教程详解
Jul 31 Javascript
jQuery实现王者荣耀手风琴效果
Jan 17 jQuery
JS如何调用WebAssembly编译出来的.wasm文件
Nov 05 Javascript
在vue中import()语法不能传入变量的问题及解决
Apr 01 Vue.js
jQuery实用函数用法总结
Aug 29 #Javascript
jQuery实现异步获取json数据的2种方式
Aug 29 #Javascript
原生javascript实现的分页插件pagenav
Aug 28 #Javascript
JavaScript判断变量是对象还是数组的方法
Aug 28 #Javascript
分享一个自己动手写的jQuery分页插件
Aug 28 #Javascript
jQuery标签替换函数replaceWith()的使用例子
Aug 28 #Javascript
jQuery焦点图切换简易插件制作过程全纪录
Aug 27 #Javascript
You might like
PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
2012/07/15 PHP
php实现socket推送技术的示例
2017/12/20 PHP
JS效率个人经验谈(8-15更新),加入range技巧
2007/01/09 Javascript
js判断浏览器的比较全的代码
2007/02/13 Javascript
你必须知道的Javascript知识点之&quot;单线程事件驱动&quot;的使用
2013/04/23 Javascript
无缝滚动js代码通俗易懂(自写)
2013/06/19 Javascript
解析JavaScript中instanceof对于不同的构造器或许都返回true
2013/12/03 Javascript
Javascript的严格模式strict mode详细介绍
2014/06/06 Javascript
纯JavaScript代码实现移动设备绘图解锁
2015/10/16 Javascript
DropDownList实现可输入可选择(两种版本可选)
2016/12/07 Javascript
发布Angular应用至生产环境的方法
2018/12/10 Javascript
详解在网页上通过JS实现文本的语音朗读
2019/03/28 Javascript
JS匿名函数内部this指向问题详析
2019/05/10 Javascript
javascript事件监听与事件委托实例详解
2019/08/16 Javascript
vue通过过滤器实现数据格式化
2020/07/20 Javascript
[02:22:36]《加油!DOTA》总决赛
2014/09/19 DOTA
[04:40]2016个国际邀请赛中国区预选赛场地——华西村观战指南
2016/06/25 DOTA
[01:46]2020完美世界全国高校联赛秋季赛报名开启
2020/10/15 DOTA
python内存管理分析
2015/04/08 Python
用Python计算三角函数之acos()方法的使用
2015/05/15 Python
Python Json序列化与反序列化的示例
2018/01/31 Python
python2.7读取文件夹下所有文件名称及内容的方法
2018/02/24 Python
使用python读取csv文件快速插入数据库的实例
2018/06/21 Python
Python 按字典dict的键排序,并取出相应的键值放于list中的实例
2019/02/12 Python
python之yield和Generator深入解析
2019/09/18 Python
python 使用递归实现打印一个数字的每一位示例
2020/02/27 Python
python+requests接口压力测试500次,查看响应时间的实例
2020/04/30 Python
Python+unittest+requests 接口自动化测试框架搭建教程
2020/10/09 Python
html5 localStorage本地存储_动力节点Java学院整理
2017/07/06 HTML / CSS
经济实惠的豪华背包和行李袋:Packs Project
2018/10/17 全球购物
人力资源专员岗位职责
2014/01/30 职场文书
清正廉洁演讲稿
2014/05/22 职场文书
党员干部批评与自我批评反四风思想汇报
2014/09/21 职场文书
2014年统战工作总结
2014/12/09 职场文书
2015年质量月活动总结报告
2015/03/27 职场文书
Python实现Matplotlib,Seaborn动态数据图
2022/05/06 Python