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 相关文章推荐
firefox浏览器下javascript 拖动层效果与原理分析代码
Dec 04 Javascript
JS查看对象功能代码
Apr 25 Javascript
jQuery Deferred和Promise创建响应式应用程序详细介绍
Mar 05 Javascript
JSON.parse()和JSON.stringify()使用介绍
Jun 20 Javascript
JsRender for object语法简介
Oct 31 Javascript
jQuery使用$.ajax提交表单完整实例
Dec 11 Javascript
jQuery封装的屏幕居中提示信息代码
Jun 08 Javascript
微信页面倒计时代码(解决safari不兼容date的问题)
Dec 13 Javascript
JS实现点击Radio动态更新table数据
Jul 18 Javascript
值得收藏的vuejs安装教程
Nov 21 Javascript
详解vue中使用vue-quill-editor富文本小结(图片上传)
Apr 24 Javascript
在weex中愉快的使用scss的方法步骤
Jan 02 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的大小写敏感问题整理
2011/12/29 PHP
PHP中Session引起的脚本阻塞问题解决办法
2014/04/08 PHP
Laravel与CI框架中截取字符串函数
2016/05/08 PHP
WordPress分页伪静态加html后缀
2016/06/08 PHP
浅谈Laravel中的一个后期静态绑定
2017/08/11 PHP
PHP的mysqli_sqlstate()函数讲解
2019/01/23 PHP
php用xpath解析html的代码实例讲解
2019/02/14 PHP
用js计算页面执行时间的函数
2006/12/07 Javascript
jquery实现心算练习代码
2010/12/06 Javascript
基于jQuery的简单的列表导航菜单
2011/03/02 Javascript
js 如何实现对数据库的增删改查
2012/11/23 Javascript
js判断样式className同时增加class或删除class
2013/01/30 Javascript
JS解析XML实例分析
2015/01/30 Javascript
浅谈javascript中关于日期和时间的基础知识
2016/07/13 Javascript
Bootstrap 实现查询的完美方法
2016/10/26 Javascript
实现div内部滚动条滚动到底部和顶部的代码
2017/11/15 Javascript
Angular学习教程之RouterLink花式跳转
2018/05/03 Javascript
JavaScript私有变量实例详解
2019/01/24 Javascript
vue学习笔记五:在vue项目里面使用引入公共方法详解
2019/04/04 Javascript
微信打开网址添加在浏览器中打开提示的办法
2019/05/20 Javascript
vue项目实现减少app.js和vender.js的体积操作
2020/11/12 Javascript
[02:39]我与DAC之Newbee.Moogy:从论坛到TI
2018/03/26 DOTA
Python实现的递归神经网络简单示例
2017/08/11 Python
Python+selenium 获取一组元素属性值的实例
2018/06/22 Python
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
2018/10/21 Python
python 定时器,实现每天凌晨3点执行的方法
2019/02/20 Python
Python实现的旋转数组功能算法示例
2019/02/23 Python
Python FtpLib模块应用操作详解
2019/12/12 Python
python库skimage给灰度图像染色的方法示例
2020/04/27 Python
浅谈pandas dataframe对除数是零的处理
2020/07/20 Python
Canvas绘制浮动球效果的示例
2017/12/29 HTML / CSS
新闻记者个人求职的自我评价
2013/11/28 职场文书
开学典礼主持词
2014/03/19 职场文书
财务内勤岗位职责
2014/04/17 职场文书
党员批评与自我批评范文
2014/09/23 职场文书
2015年初三班主任工作总结
2015/05/21 职场文书