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 eval函数深入认识
Feb 21 Javascript
基于jQuery的倒计时实现代码
May 30 Javascript
Web Inspector:关于在 Sublime Text 中调试Js的介绍
Apr 18 Javascript
js中的时间转换—毫秒转换成日期时间的示例代码
Jan 26 Javascript
JS实现带缓冲效果打开、关闭、移动一个层的方法
May 09 Javascript
理解javascript中的严格模式
Feb 01 Javascript
Angular2下使用pdf插件的方法详解
Apr 29 Javascript
微信小程序 图片上传实例详解
May 05 Javascript
JS实现颜色的10进制转化成rgba格式的方法
Sep 04 Javascript
JavaScript new对象的四个过程实例浅析
Jul 31 Javascript
详解小程序循环require之坑
Mar 08 Javascript
vue移动端实现手机左右滑动入场动画
Jun 17 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
图片存储与浏览一例(Linux+Apache+PHP+MySQL)
2006/10/09 PHP
smarty模板引擎从配置文件中获取数据的方法
2015/01/22 PHP
PHP利用APC模块实现大文件上传进度条的方法
2015/10/29 PHP
Yii使用技巧大汇总
2015/12/29 PHP
PHP实现的策略模式示例
2019/03/20 PHP
JavaScript窗口功能指南之在窗口中书写内容
2006/07/21 Javascript
网页中的图片的处理方法与代码
2009/11/26 Javascript
Javascript Jquery 遍历Json的实现代码
2010/03/31 Javascript
JS实现div内部的文字或图片自动循环滚动代码
2013/04/19 Javascript
javascript中typeof的使用示例
2013/12/19 Javascript
JavaScript中定义函数的三种方法
2015/03/12 Javascript
JQuery中两个ul标签的li互相移动实现方法
2015/05/18 Javascript
基于javascript实现全国省市二级联动下拉选择菜单
2016/01/28 Javascript
详解vue 兼容IE报错解决方案
2018/12/29 Javascript
ES6知识点整理之对象解构赋值应用示例
2019/04/17 Javascript
微信小程序云开发之新手环境配置
2019/05/16 Javascript
JavaScript 几种循环方式以及模块化的总结
2020/09/03 Javascript
在Python中利用Into包整洁地进行数据迁移的教程
2015/03/30 Python
实例讲解Python设计模式编程之工厂方法模式的使用
2016/03/02 Python
Python3.6简单操作Mysql数据库
2017/09/12 Python
python生成tensorflow输入输出的图像格式的方法
2018/02/12 Python
解决python中使用plot画图,图不显示的问题
2018/07/04 Python
Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解
2020/04/03 Python
python中for in的用法详解
2020/04/17 Python
python怎么对数字进行过滤
2020/07/05 Python
html5视频常用API接口的实战示例
2020/03/20 HTML / CSS
自荐信如何“自荐”
2013/10/24 职场文书
采购员的工作职责
2013/12/26 职场文书
《临死前的严监生》教学反思
2014/02/13 职场文书
领导干部保密承诺书
2014/08/30 职场文书
师德师风的心得体会
2014/09/02 职场文书
高三教师工作总结2015
2015/07/21 职场文书
关于社会实践的心得体会(2016最新版)
2016/01/25 职场文书
Python使用UDP实现720p视频传输的操作
2021/04/24 Python
Go遍历struct,map,slice的实现
2021/06/13 Golang
SQL Server表分区删除详情
2021/10/16 SQL Server