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. PreparedStatement 查询 In 语句 setArray 等介绍。

    ps = conn.prepareStatement("SELECT tid,jdp_response FROM jdp_tb_trade WHERE tid IN (?) ORDER BY ...

  2. 20165203实验四 Andriod程序设计

    20165203实验四 Andriod程序设计 实验内容 安装 Android Stuidio 学习Android Stuidio调试应用程序 实验要求 1.没有Linux基础的同学建议先学习< ...

  3. Java深度复制List内容。

    最近在工作的时候,有一个小需求,需要复制List的内容,然后会改变其中的数据,但是试了几种复制的方法,都是将原有的数据和复制后的数据都改变了,都没有达到我想要的效果. 其中涉及到了 "浅复制 ...

  4. centos7 配置ftp访问

    vsftp安装 创建用户 并限定用户在自己的目录 1.查看是否已经安装了vsftpd vsftpd -version 2.安装vsftpd(CentOS7) yum install -y vsftpd ...

  5. mysql中的包含语句INSTR的使用

    1.目前测试百万级数据,效率还是相当可观,感觉比like更精准! 例句 今天项目遇到一个问题,每个用户都有自己的所属渠道,当登录后台操作时,要列出隶属于自己拥有渠道的用户列表,当初想到使用全部遍历出来 ...

  6. Django实战(18):提交订单

    前面的内容已经基本上涵盖了Django开发的主要方面,我们从需求和界面设计出发,创建模型和修改模型,并通过scaffold作为开发的起点:在scaffold的基础上重新定制模板,并且通过Model类和 ...

  7. vscode 配置import @ 路径提示及代码智提

    1.安装插件:Path Intellisense 2.配置: "path-intellisense.mappings": { "@": "${work ...

  8. webview内部跳转判断

    重写webview内的方法 webView.setWebViewClient(new WebViewClient() { @Override // 在点击请求的是链接是才会调用,重写此方法返回true ...

  9. Python并发编程-IO模型-非阻塞IO实现SocketServer

    Server.py import socket sk = socket.socket() sk.bind(('127.0.0.1',8080)) sk.setblocking(False) #把soc ...

  10. imageio 载入 Buffer 格式的图片

    题注:OpenCV 使用 pip install -U opencv-python 即可安装. import zipfile import imageio import cv2 # 载入压缩文件 Z ...