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 相关文章推荐
Extjs列表详细信息窗口新建后自动加载解决方法
Apr 02 Javascript
javascript+mapbar实现地图定位
Apr 09 Javascript
jQuery源码中的chunker 正则过滤符分析
Jul 31 Javascript
jquery中get,post和ajax方法的使用小结
Feb 04 Javascript
jQuery获得页面元素的绝对/相对位置即绝对X,Y坐标
Mar 06 Javascript
JavaScript中this关键词的使用技巧、工作原理以及注意事项
May 20 Javascript
jQuery 1.9使用$.support替代$.browser的使用方法
May 27 Javascript
JavaScript Math.ceil 方法(对数值向上取整)
Jan 09 Javascript
JS实现仿苹果底部任务栏菜单效果代码
Aug 28 Javascript
Bootstrap Fileinput文件上传组件用法详解
May 10 Javascript
JavaScript Window浏览器对象模型原理解析
May 30 Javascript
JavaScript严格模式不支持八进制的问题讲解
Nov 07 Javascript
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实现登陆验证码(类似条行码状)
2006/10/09 PHP
php页面消耗内存过大的处理办法
2013/03/18 PHP
sae使用smarty模板的方法
2013/12/17 PHP
PHP编程中的__clone()方法使用详解
2015/11/27 PHP
PHP-FPM实现性能优化
2016/03/31 PHP
PHP页面输出搜索后跳转下一页的处理方法
2016/09/30 PHP
PHP 7.1新特性的汇总介绍
2016/12/16 PHP
JavaScript事件列表解说
2006/12/22 Javascript
jQuery实现form表单reset按钮重置清空表单功能
2012/12/18 Javascript
如何使用JS获取IE上传文件路径(IE7,8)
2013/07/08 Javascript
Javascript浅谈之引用类型
2013/12/18 Javascript
利用进制转换压缩数字函数分享
2014/01/02 Javascript
JavaScript使用focus()设置焦点失败的解决方法
2014/09/03 Javascript
浅析JS中对函数function的理解(基础篇)
2016/10/14 Javascript
canvas绘制万花筒效果(代码分享)
2017/01/20 Javascript
HTML5实现微信拍摄上传照片功能
2017/04/21 Javascript
bootstrap的工具提示实例代码
2017/05/17 Javascript
vue使用stompjs实现mqtt消息推送通知
2017/06/22 Javascript
webpack实用小功能介绍
2018/01/02 Javascript
js HTML DOM EventListener功能与用法实例分析
2020/04/27 Javascript
微信小程序实现购物车功能
2020/11/18 Javascript
python通过pil为png图片填充上背景颜色的方法
2015/03/17 Python
实现python版本的按任意键继续/退出
2016/09/26 Python
python+opencv 读取文件夹下的所有图像并批量保存ROI的方法
2019/01/10 Python
pycharm 实现本地写代码,服务器运行的操作
2020/06/08 Python
安全的后院和健身蹦床:JumpSport
2019/07/15 全球购物
口腔工艺技术专业毕业生自荐信
2013/09/27 职场文书
社区安全检查制度
2014/02/03 职场文书
军训拉歌口号
2014/06/13 职场文书
村支部书记群众路线对照检查材料思想汇报
2014/10/08 职场文书
2015年高考寄语或鼓励的话
2015/03/23 职场文书
销售区域经理岗位职责
2015/04/10 职场文书
运动会闭幕式主持词
2015/07/01 职场文书
python实现自动清理文件夹旧文件
2021/05/10 Python
解决MySQL Varchar 类型尾部空格的问题
2022/04/06 MySQL
python数字图像处理数据类型及颜色空间转换
2022/06/28 Python