zoukankan      html  css  js  c++  java
  • JQuery中stop([clearQueue],[goToEnd])介绍

    调用stop()方法停止当前所有动画效果

        $(selector).stop([clearQueue],[goToEnd])方法的功能是在动画完成之前,停止当前正在执行的动画效果,这些效果包括滑动、淡入淡出和自定义的动画......其中,两个可选项参数clearQueue和goToEnd都是布尔类型值,前者表示是否停止正在执行的动画(清空动画队列),后者表示是否完成正在执行的动画,默认均为false。

        首先介绍一下动画队列,比如一个页面有几个动画,而这些动画是按照顺序执行的,比如页面中一个正方形先向右移动(第一个动画),再变大(第二个动画)。这两个动画前后构成一个动画队列。

        根据参数取值不同有四种情况:

        1.stop()或stop(false,false):第一个参数false意思是即仅停止当前活动的动画,第二个参数false意思指不完成正在执行的动画。给出一段代码,要求一个红色<span></span>块先向右移动,再变大。

    实例如下:

        

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
            <title>调用stop()方法停止当前所有动画效果</title>
            <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js" type="text/javascript"></script>
         <style type="text/css">
           div
    {
        margin: 10px 0px;
    }
    span
    {
        position:absolute;
        80px;
        height:80px;
        border: solid 1px #ccc;
        margin: 0px 8px;
        background-color: Red;
        color:White;
        vertical-align:middle
    }
         </style>
        </head>
        
        <body>
            <h3>调用stop()方法停止当前所有动画效果</h3>
            <span></span>
            <input id="btnStop" type="button" value="停止" />
            <div id="tip"></div>
            
            <script type="text/javascript">
                $(function () {
                    $("span").animate({
                        left: "+=100px"
                    }, 3000);
                    
                    $("span").animate({
                            height: '+=60px',
                             '+=60px'
                        }, 3000, function () {
                            $("#tip").html("执行完成!");
                        });
                    
                    $("#btnStop").bind("click", function () {
                       $("span").stop(true,true);
                        $("#tip").html("执行停止!");
                    });
                });
            </script>
        </body>
    </html>  

    经过测试,无论动画执行在何时,点击停止,则动画停止。

    第一个动画执行时点击停止:

    第二个动画执行时点击停止:

    2.stop(false,true):第一个参数false意思是即仅停止当前活动的动画,第二个参数true意思指完成正在执行的动画。(HTML和CSS部分就省略了)

    $(function () {
                    $("span").animate({
                        left: "+=100px"
                    }, 3000);
                    
                    $("span").animate({
                            height: '+=60px',
                             '+=60px'
                        }, 3000, function () {
                            $("#tip").html("执行完成!");
                        });
                    
                    $("#btnStop").bind("click", function () {
                       $("span").stop(false,true);
                        $("#tip").html("执行停止!");
                    });
                });

    经过测试,在第一个动画执行时,点击停止按钮,当前动画停止并瞬间变成当前动画的最终状态,继续执行第二个动画。当在第二个动画执行时点击停止按钮,则动画直接比纳称第二个动画最终状态。(即使截图也不太好说明)

    3.stop(true,false):第一个参数true意思是即停止活动的动画(清空动画队列,停止所有动画),第二个参数false意思指不完成正在执行的动画。(HTML和CSS部分就省略了)。

    无论在何时点击停止,则动画停止。

    4.stop(true,true):第一个参数true意思是即停止活动的动画(清空动画队列,停止所有动画),第二个参数true意思指完成正在执行的动画。(HTML和CSS部分就省略了)

    如果在第一个动画执行时点击停止则,动画立即跳到第一个动画最终状态而不再变化。

    如果在第二个动画执行时点击停止,动画立即跳到第一个动画最终状态。

    意思是无论在何时点击停止都只完成当前动画。

  • 相关阅读:
    mongoDB Liunx下安装及配置
    Node.js WEB服务器(1)——编写简单的HTTP服务器
    MongoDB 和 NoSQL简介
    ES6的Promise浅析
    Node.js的模块系统
    Node.js的异步IO和事件轮询
    mybatis 关联表心得
    mustache 模板,用于构造html页面内容
    Python实现冒泡,选择排序
    文件路径太长无法删除 robocopy
  • 原文地址:https://www.cnblogs.com/weink1215/p/4375544.html
Copyright © 2011-2022 走看看