锋利的 jQuery (第二版) jQuery 中的 动画

news/2024/11/9 14:02:36

4.2 jQuery 中的动画

4.2.1 show() 和 hide()方法

show() 和 hide()方法让元素动起来
show("slow"|"normal"|"fast") 长度分别为600ms、400ms、200ms.
show(1000) 表示在 1000ms 内展示完毕.

4.2.2 fadeIn() 和 fadeOut()方法

方法作用:改变元素的不透明度。

4.2.3 slideUp() 和 slideDown()方法

方法作用:改变元素的高度。

4.2.4 自定义动画方法 animate() 方法

animate(params, [speed], [callback]):
1) params 为属性值及其映射,一般为 json 格式;
2) speed 为速度;
3) callback 为动画完成时执行函数。

1. 自定义简单动画

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>jQ-动画</title>
    <style>
    #app {
        position: relative;
        width: 100px;
        height: 100px;
        border: 1px solid #003322;
    }
    </style>
    <script src="../jquery-1.8.3.js"></script>
</head>

<body>
    <div id="app">
    </div>
    <script>
    $(function() {
        $("#app").click(function() {
            $(this).animate({
                left: "100px"
            }, 300);
        });
    });
    </script>
</body>

</html>

2. 累加、累减动画

$(this).animate({left: "+=100px"}, 300); // 离左边距离增加 100px

3. 多重动画
(1) 同时执行多个动画

$(this).animate({left: "+=100px", height: "+=100px"}, 300); // 离左边距离增加 100px 高度增加100px  同时执行

(2) 按顺序执行多种动画

$(this).animate({left: "+=100px"}, 300); // 离左边距离增加100px  先执行
$(this).animate({height: "+=100px"}, 300); // 高度增加100px     后执行

4. 综合动画
以上动画效果的混合应用

4.2.5 动画回调函数

如果想在动画执行后改变元素的 css 样式, 这时就不能使用 css() 方法, 因为 css() 方法在动画执行之前就会立即执行。 所以这时候就要用到回调函数。

4.2.6 停止动画和判断是否处于动画状态

stop([clearQueue],[gotoEnd]): clearQueue 和 gotoEnd 只能取 Boolean 值。
clearQueue:  
gotoEnd: 

直接使用 stop() 方法,则会立即停止当前正在进行的动画, 如果后续有动画则等待继续进行,以刚才的状态执行动画。

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>jQ-动画</title>
    <style>
    #app {
        position: relative;
        width: 100px;
        height: 100px;
        border: 1px solid #003322;
    }
    </style>
    <script src="../jquery-1.8.3.js"></script>
</head>

<body>
    <div id="app">
    </div>
    <script>
    $(function() {
        $("#app").hover(function() {
            $(this).stop()
                .animate({                // 此时触发光标事件则会执行下面的动画,
                    left: "+=100px",      // 而不会执行光标移出时的动画
                }, 1000)    
                .animate({
                    height: "+=100px"
                }, 1000)
        }, function() {
            $(this).stop()
                .animate({
                    left: "-=100px",
                }, 1000)
                .animate({
                    height: "-=100px"
                }, 1000)
        });
    });
    </script>
</body>

</html>

http://www.niftyadmin.cn/n/2013583.html

相关文章

CSS 文本溢出部分显示省略号

单行结尾溢出&#xff1a; 用text-overflow:ellipsis属性实现&#xff0c;当然还需要加宽度width属来兼容部分浏览。width:300px;overflow: hidden; text-overflow:ellipsis; white-space: nowrap; 效果如图&#xff1a; ----------------------------------------------------…

更新队友POM文件后报错

2019独角兽企业重金招聘Python工程师标准>>> 打开报错的地方的pom及其引用方法所在文件的pom,观察其版本号是否一致,不一致进行更改 转载于:https://my.oschina.net/u/3717819/blog/1831838

弄懂char/varchar/nchar/nvarchar

名称长度说明推荐场景char定长速度快&#xff0c;占空间大英文/数字varchar变长不定长&#xff0c;空间小&#xff0c;速度慢英文/数字nchar定长速度快&#xff0c;占空间大汉字nvarchar变长不定长&#xff0c;空间小&#xff0c;速度慢汉字

c++ 实现 http 上传和下载

代码下载地址: http://download.csdn.net/detail/mtour/8243527 最近写了个程序需要用到http通讯&#xff0c;由于flash空间比较小&#xff0c;没有考虑 libcurl库&#xff0c;用c封装了一个http类&#xff0c;实现了http 文件上传和下载 [cpp] view plaincopy #include <…

NodeJS 服务器基本模板

基本server配置 cookie / session / get数据 / post数据 / 请求方法 const expressrequire(express); const staticrequire(express-static); const cookieParserrequire(cookie-parser); const cookieSessionrequire(cookie-session); const bodyParserrequire(body-parser); …

mysql 中的信息数据库以及 shell操作sql

2019独角兽企业重金招聘Python工程师标准>>> Information_schema 是 MySQL 自带的信息数据库&#xff0c;里面的“表”保存着服务器当前的实时信息。它提供了访问数据库元数据的方式。 什么是元数据呢&#xff1f;元数据是关于数据的数据&#xff0c;如数据库名或表…

Makefile初探

选择一个目录创建一个Makefile文件&#xff1b; 注意第二行的开头需要时TAB建空开&#xff0c;不要用空格 执行make make的时候&#xff0c;无论你创建的是makefile还是Makefile都可以识别 &#xff0c;不在乎开头的字母是否大写。 makefile中的第一个重要概念是目标&#xff0…

葵花宝典之玩转众包——发包方

为什么80%的码农都做不了架构师&#xff1f;>>> 法则一&#xff1a; 项目发布 1. 一个简单明了的项目标题&#xff0c;有助于提高项目的报名率 项目标题是给接包方的第一印象&#xff0c;如同项目的名片&#xff0c;标题应直接明了&#xff0c;如&#xff1a;“b…