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. [android] The_connection_to_adb_is_down__and_a_severe_error_has_occured解决方案

    初学安卓,这是我碰到的第一个问题,从网上找了些解决方法,同时也把问题解决了. 方案一 1.先把eclipse关闭. 2.在管理器转到你的android SDK 的platform-tools下, 如图 ...

  2. JZOJ1517. 背包问题

    这个题,乍一看感觉挺神的(其实真挺神的),其实是个简单的分组背包(如果恍然大悟就不用接着看了) 取连续的一段是这道题最难以处理的地方,但是观察到物品数量不多<=100(如果恍然大悟就不用接着看了 ...

  3. tomcat 内存参数优化示例

    https://www.cnblogs.com/cornerxin/p/9304100.html

  4. (使用通过混淆+自己第三方保留成功混淆)AndroidStudio 混淆打包

    原文:https://blog.csdn.net/mazhidong/article/details/64820838 AndroidStudio中的项目可以用compile的形式引入github上的 ...

  5. hbase 性能调

    一. HBase的通用优化 1 高可用 在 HBase 中 Hmaster 负责监控 RegionServer 的生命周期,均衡 RegionServer 的负载,如果 Hmaster 挂掉了,那么整 ...

  6. CRLF LF CR

    The Carriage Return (CR) character (0x0D, \r) moves the cursor to the beginning of the line without ...

  7. jQuery类名添加click方法

    通过$("").jQuery为元素添加点击事件,在使用类的情况下,可以使用$(e.target).attr('title');获得被点击元素的属性值. 示例代码如下 $(" ...

  8. Gitlab-通过API管理项目

    Gitlab有一个非常强大的API,几乎可以通过API管理在Gitlab服务器中的所有项目. 在这里我们只是测试终端点的API, 因此我们需要一个程序来进行测试 .在这里我使用的是针对Google浏览 ...

  9. Linux-CentOs7-svn安装及钩子配置

    做个svn的教程 首先进入test目录下,新建一个svn目录,准备做svn测试cd /testmkdir svncd svn然后使用yum安装svn,这里就不使用编译安装了,这玩意只要能用就行,版本无 ...

  10. 基于特征码文件恢复工具magicrescue

    基于特征码文件恢复工具magicrescue   常见类型的文件都包含一些特殊的字节,用来标识文件的类型.这些字节被称为特征码.在磁盘中,当记录文件存储位置的簇损坏后,就可以基于这些特征码来恢复文件. ...