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 相关文章推荐
Span元素的width属性无效果原因及解决方案
Jan 15 Javascript
js中scrollHeight,scrollWidth,scrollLeft,scrolltop等差别介绍
May 16 Javascript
使用jquery实现简单的ajax
Jul 08 Javascript
获取非最后一列td值并将title设为该值的方法
Oct 30 Javascript
Javascript学习笔记之函数篇(六) : 作用域与命名空间
Nov 23 Javascript
js实现拖拽效果
Feb 12 Javascript
微信小程序 两种为对象属性赋值的方式详解
Feb 23 Javascript
jQuery实现字体颜色渐变效果的方法
Mar 29 jQuery
vue2 设置router-view默认路径的实例
Sep 20 Javascript
vue单页面应用打开新窗口显示跳转页面的实例
Sep 21 Javascript
vue多次循环操作示例
Feb 08 Javascript
Node.js事件的正确使用方法
Apr 05 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中ob(Output Buffer 输出缓冲)函数使用方法
2007/07/21 PHP
实现php加速的eAccelerator dll支持文件打包下载
2007/09/30 PHP
Yii2 RESTful中api的使用及开发实例详解
2016/07/06 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
PHP观察者模式示例【Laravel框架中有用到】
2018/06/15 PHP
php抽象方法和普通方法的区别点总结
2019/10/13 PHP
图像替换新技术 状态域方法
2010/01/28 Javascript
javascript对中文按照拼音排序代码
2014/08/20 Javascript
2则自己编写的jQuery特效分享
2015/02/26 Javascript
JavaScript异步上传图片文件的实例代码
2017/07/04 Javascript
vue读取本地的excel文件并显示在网页上方法示例
2019/05/29 Javascript
js实现二级联动简单实例
2020/01/11 Javascript
使用konva和vue-konva库实现拖拽滑块验证功能
2020/04/27 Javascript
Python中Django发送带图片和附件的邮件
2017/03/31 Python
Django自定义分页效果
2017/06/27 Python
判断python字典中key是否存在的两种方法
2018/08/10 Python
python中的for循环
2018/09/28 Python
解决django中ModelForm多表单组合的问题
2019/07/18 Python
django多对多表的创建,级联删除及手动创建第三张表
2019/07/25 Python
Python实现PyPDF2处理PDF文件的方法示例
2019/09/25 Python
python队列原理及实现方法示例
2019/11/27 Python
Python日期格式和字符串格式相互转换的方法
2020/02/18 Python
Python如何生成xml文件
2020/06/04 Python
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
2020/06/06 Python
python中使用np.delete()的实例方法
2021/02/01 Python
CSS3中animation实现流光按钮效果
2020/12/21 HTML / CSS
html5 浏览器支持 如何让所有的浏览器都支持HTML5标签样式
2012/12/07 HTML / CSS
浅谈Html5中视频 音频标签 进度条的问题
2016/07/26 HTML / CSS
人事主管的岗位职责
2013/11/16 职场文书
计算机学生的自我评价分享
2014/02/18 职场文书
母婴店促销方案
2014/03/05 职场文书
小学感恩节活动策划方案
2014/10/06 职场文书
小学主题班会教案
2015/08/17 职场文书
《水上飞机》教学反思
2016/02/20 职场文书
SQL Server中常用截取字符串函数介绍
2022/03/16 SQL Server
Python利用Turtle绘制哆啦A梦和小猪佩奇
2022/04/04 Python