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 相关文章推荐
Javascript的IE和Firefox兼容性汇编(zz)
Feb 02 Javascript
extJs 下拉框联动实现代码
Apr 09 Javascript
javascript 隔行换色函数代码
Oct 24 Javascript
jquery mobile实现拨打电话功能的几种方法
Aug 05 Javascript
JavaScript操作cookie类实例
Mar 31 Javascript
JavaScript获取当前cpu使用率的方法
Dec 15 Javascript
canvas实现图像布局填充功能
Feb 06 Javascript
解决bootstrap下拉菜单点击立即隐藏bug的方法
Jun 13 Javascript
ionic2屏幕适配实现适配手机、平板等设备的示例代码
Aug 11 Javascript
Windows下支持自动更新的Electron应用脚手架的方法
Dec 24 Javascript
详解Js里的for…in和for…of的用法
Mar 28 Javascript
JavaScript图像放大镜效果实现方法详解
Jun 28 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
第1次亲密接触PHP5(1)
2006/10/09 PHP
php设计模式 State (状态模式)
2011/06/26 PHP
基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
2014/01/31 PHP
php的SimpleXML方法读写XML接口文件实例解析
2014/06/16 PHP
PHP的cURL库简介及使用示例
2015/02/06 PHP
ThinkPHP3.2.3框架Memcache缓存使用方法实例总结
2019/04/15 PHP
document.all与WEB标准
2020/05/13 Javascript
JavaScript OOP面向对象介绍
2010/12/02 Javascript
jQuery写的日历(包括日历的样式及功能)
2013/04/23 Javascript
IE下window.onresize 多次调用与死循环bug处理方法介绍
2013/11/12 Javascript
jquery实现仿Flash的横向滑动菜单效果代码
2015/09/17 Javascript
深入理解setTimeout函数和setInterval函数
2016/05/20 Javascript
浅谈javascript中new操作符的原理
2016/06/07 Javascript
使用get方式提交表单在地址栏里面不显示提交信息
2017/02/21 Javascript
JavaScript实现的冒泡排序法及统计相邻数交换次数示例
2017/04/26 Javascript
AngularJS实现的省市二级联动功能示例【可对选项实现增删】
2017/10/26 Javascript
JS定义函数的几种常用方法小结
2019/05/23 Javascript
微信公众号生成新浪短网址的实现(快速生成)
2019/08/18 Javascript
jQuery 图片查看器插件 Viewer.js用法简单示例
2020/04/04 jQuery
如何通过vscode运行调试javascript代码
2020/07/24 Javascript
Vue中computed及watch区别实例解析
2020/08/01 Javascript
node.js通过Sequelize 连接MySQL的方法
2020/12/28 Javascript
利用pyinstaller将py文件打包为exe的方法
2018/05/14 Python
python通过Windows下远程控制Linux系统
2018/06/20 Python
python 调试冷知识(小结)
2019/11/11 Python
使用jupyter notebook将文件保存为Markdown,HTML等文件格式
2020/04/14 Python
利用pandas向一个csv文件追加写入数据的实现示例
2020/04/23 Python
在pycharm中关掉ipython console/PyDev操作
2020/06/09 Python
python如何实现读取并显示图片(不需要图形界面)
2020/07/08 Python
世界上最大的曲棍球商店:Pro Hockey Life
2017/10/30 全球购物
美国职棒大联盟官方网上商店:MLBShop.com
2017/11/12 全球购物
硕士研究生自我鉴定
2013/11/08 职场文书
办公室主任岗位职责
2013/11/08 职场文书
违反交通法规检讨书
2014/09/10 职场文书
助学感谢信范文
2015/01/21 职场文书
Nginx工作原理和优化总结。
2021/04/02 Servers