5、动画特效

● 自制折叠内容块

内容块如下

    <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();
                }
            });
        });

切换元素的显示状态,还可以用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'))
                });
            });
        });    

● 使元素淡入淡出
fadeIn(speed, callback)       
fadeOut(speed, callback)
fadeTo(speed, opacity, callback)

● 上下滑动元素

slideDown(speed, callback)
slideUp(speed, callback)
slideToggle(speed, callback)

● 停止动画

stop(clearQueue, gotoEnd)

● 创建自定义动画

animate(properties, duration, easing, callback)

$('.classname').animate({opacity:'toggle'},'slow')

如果写一个扩展函数。

$.fn.fadeToggle = function(speed){
    return this.animate({opacity:'toggle'},'slow');
}

● 自定义缩放动画

$('.classname').each(function(){
    $(this).animate({
        width: $(this).width() * 2,
        height: $(this).height() * 2
    });
});

● 自定义掉落动画

$('.classname').each(function(){
    $(this)
        .css("position","relative")
        .animate({
            opacity: 0,
            top: $(window).height() - $(this).height() - $(this).position().top
        },'slow',function(){ $(this).hide(); })
});

● 自定义消散动画

$('.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');
});

● 队列中的动画

//动画插入队列
$('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实战(第二版)

jQuery碎语系列包括:

jQuery碎语(1) 基础、选择要操作的元素、处理DOM元素

jQuery碎语(2) 事件

jQuery碎语(3) 动画特效

jQuery碎语(4) 实用函数

jQuery碎语(3) 动画特效的更多相关文章

  1. jQuery碎语(4) 实用函数

    6.实用函数 ● 修剪字符串 $('#id').val($.trim($('#someid').val())) ● 遍历集合 可能这样写: var anArray = ['one','two']; f ...

  2. jQuery碎语(2) 事件

    4.事件 ● 通过方法名给元素绑定事件: $('li').click(function(event){}) ● 通过bind方法给元素绑定事件: $('li') .bind('click',funct ...

  3. jQuery碎语(1) 基础、选择要操作的元素、处理DOM元素

    1.基础 jquery对象集: $():jquery对象集合 获取jquery对象集中的元素: 使用索引获取包装器中的javascript元素:var temp = $('img[alt]')[0] ...

  4. jQuery css3鼠标悬停图片显示遮罩层动画特效

    jQuery css3鼠标悬停图片显示遮罩层动画特效 效果体验:http://hovertree.com/texiao/jquery/39/ 效果图: 源码下载:http://hovertree.co ...

  5. jQuery动画特效实例教程

    本文以实例形式详细讲述了jQuery动画特效的实现方法. 1.自制折叠内容块 内容块如下:     <div class="module">   <div cla ...

  6. jQuery+CSS3实现404背景动画特效

    效果:http://hovertree.com/texiao/jquery/74/ 源码下载:http://hovertree.com/h/bjaf/ko0gcgw5.htm 效果图如下: 代码如下: ...

  7. 有时候就是看不进论文-jQuery动画特效篇&MySQL

    hi 早上知道新的乱斗模式后,没忍住开了几把,然后就无心论文了...用这个来破吧 1.jQuery -----动画特效----- ----调用show()和hide()方法显示和隐藏元素 show() ...

  8. 三、jQuery--jQuery基础--jQuery基础课程--第7章 jQuery 动画特效

    1.调用show()和hide()方法显示和隐藏元素 show()和hide()方法用于显示或隐藏页面中的元素,它的调用格式分别为:$(selector).hide(speed,[callback]) ...

  9. jQuery.smoove — jQuery和CSS3炫酷滚动页面内容元素动画特效插件

    插件介绍: jQuery-smoove是一款jQuery和CSS3炫酷滚动页面内容元素动画特效插件.该内容元素动画插件在页面滚动到指定位置时,该位置的HTML元素会执行指定的CSS3动画特效,如旋转. ...

随机推荐

  1. conding.net或github,readme.md添加图片

    原因:    将图片放在仓库里面,在文件里链接它,最后 push 到 github 上.github 图片链接格式:(http://github.com/yourname/your-repositor ...

  2. 利用Requests库写爬虫

    基本Get请求: #-*- coding:utf-8 -*- import requests url = 'http://www.baidu.com' r = requests.get(url) pr ...

  3. oracle数据库11g(11.2.0.1)安装报错:提示ins_ctx.mk编译错误。

    https://blog.csdn.net/weixin_42967330/article/details/81668404

  4. jsonrpc.js -- 原生js实现 JSON-RPC 协议

    很早以前就涉及到多端远程调用 api的设计,那时候自己设计了个消息传递回调过程.最近了解了JSON-RPC协议,更正规,就可以自己实现下.逻辑也不复杂,没有限制底层消息传递的方式,可以应用到更多的场景 ...

  5. CCF CSP 201612-3 权限查询

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201612-3 权限查询 问题描述 授权 (authorization) 是各类业务系统不可缺 ...

  6. ASP.NET Web API 2 external logins with Facebook and Google in AngularJS app

    转载:http://bitoftech.net/2014/08/11/asp-net-web-api-2-external-logins-social-logins-facebook-google-a ...

  7. easyui tree tabs

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. 预备作业02:体会做中学(Learning By Doing)

    1.很惭愧,我并没有什么技能能强过大家. 2...... 3.我觉得培养一个技能,必须要通过勤勉的练习,认真的学习,还有不断地结合实践. 4.我觉得我学习<程序设计与数据结构>之后应该对程 ...

  9. 理解Linux的进程,线程,PID,LWP,TID,TGID

    在Linux的top和ps命令中,默认看到最多的是pid (process ID),也许你也能看到lwp (thread ID)和tgid (thread group ID for the threa ...

  10. [WC2018]州区划分(状压DP+FWT/FMT)

    很裸的子集反演模板题,套上一些莫名其妙的外衣. 先预处理每个集合是否合法,再作显然的状压DP.然后发现可以写成子集反演的形式,直接套模板即可. 子集反演可以看这里. 子集反演的过程就是多设一维代表集合 ...