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 相关文章推荐
JScript 脚本实现文件下载 一般用于下载木马
Oct 29 Javascript
jQuery 锚点跳转滚动条平滑滚动一句话代码
Apr 30 Javascript
javascript 学习笔记(onchange等)
Nov 14 Javascript
ie下动态加态js文件的方法
Sep 13 Javascript
jQuery Validation PlugIn的使用方法详解
Dec 18 Javascript
webpack 1.x升级过程中的踩坑总结大全
Aug 09 Javascript
AngularJS基于MVC的复杂操作实例讲解
Dec 31 Javascript
vue中的$emit 与$on父子组件与兄弟组件的之间通信方式
May 13 Javascript
webpack优化的深入理解
Dec 10 Javascript
微信小程序实现人脸识别登陆的示例代码
Apr 02 Javascript
JavaScript实现刮刮乐效果
Nov 01 Javascript
Vue elementUI表单嵌套表格并对每行进行校验详解
Feb 18 Vue.js
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去掉URL网址中带有PHPSESSID的配置方法
2014/07/08 PHP
php的mssql数据库连接类实例
2014/11/28 PHP
PHP实现对文件锁进行加锁、解锁操作的方法
2017/07/04 PHP
PHP通过bypass disable functions执行系统命令的方法汇总
2018/05/02 PHP
PHP的mysqli_set_charset()函数讲解
2019/01/23 PHP
javascript脚本调试方法小结
2008/11/24 Javascript
js 代码集(学习js的朋友可以看下)
2009/07/22 Javascript
学习ExtJS accordion布局
2009/10/08 Javascript
读jQuery之七 判断点击了鼠标哪个键的代码
2011/06/21 Javascript
js 为label标签和div标签赋值的方法
2013/08/08 Javascript
再谈javascript常见错误及解决方法
2016/09/16 Javascript
Reactjs实现通用分页组件的实例代码
2017/01/19 Javascript
jQuery插件echarts设置折线图中折线线条颜色和折线点颜色的方法
2017/03/03 Javascript
Vue.js手风琴菜单组件开发实例
2017/05/16 Javascript
React Native中的RefreshContorl下拉刷新使用
2017/10/09 Javascript
Vue+Element实现动态生成新表单并添加验证功能
2019/05/23 Javascript
使用vue for时为什么要key【推荐】
2019/07/11 Javascript
对Layer UI 模块化的用法详解
2019/09/26 Javascript
vue实现移动端触屏拖拽功能
2020/08/21 Javascript
javascript实现点击按钮切换轮播图功能
2020/09/23 Javascript
nestjs返回给前端数据格式的封装实现
2021/02/22 Javascript
python使用内存zipfile对象在内存中打包文件示例
2014/04/30 Python
Python机器学习之决策树算法实例详解
2017/12/06 Python
python基础教程项目三之万能的XML
2018/04/02 Python
Python实现定制自动化业务流量报表周报功能【XlsxWriter模块】
2019/03/11 Python
Python基础之函数的定义与使用示例
2019/03/23 Python
HTML5的Video标签有部分MP4无法播放的问题解析(多图)
2017/08/18 HTML / CSS
中专生职业生涯规划书范文
2014/01/10 职场文书
市场部管理制度
2014/02/02 职场文书
党的群众路线教育实践活动批评与自我批评
2014/02/16 职场文书
党支部遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
先进单位事迹材料
2014/12/25 职场文书
表扬通报怎么写
2015/01/16 职场文书
2015年艾滋病宣传活动总结
2015/03/27 职场文书
2015年教研组工作总结
2015/05/04 职场文书
django学习之ajax post传参的2种格式实例
2021/05/14 Python