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;
    width: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‘,
                        width: ‘+=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‘,
                        width: ‘+=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部分就省略了)

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

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

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

时间: 2024-08-15 22:38:22

JQuery中stop([clearQueue],[goToEnd])介绍的相关文章

Jquery中AJAX参数详细介绍

在使用jquery的时候,我们经常用到jquery中对ajax的封装,下面对ajax函数的各参数详细说明和讲解,以便更好的理解和使用 $.get(url, data, callback,type) 和 $.post(url, data, callback, type). 1. jQuery.ajax( options ) : 通过 HTTP 请求加载远程数据 这个是jQuery 的底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等. $.ajax() 返回其创建的 XML

JQuery中的dialog使用介绍

初始化参数 对于 dialog 来说,首先需要进行初始化,在调用 dialog 函数的时候,如果没有传递参数,或者传递了一个对象,那么就表示在初始化一个对话框. 没有参数,表示按照默认的设置初始化对话框,在当前最新版本的 jQuery UI 1.8.9 中, dialog 支持下列属性. autoOpen   初始化之后,是否立即显示对话框,默认为 true modal        是否模式对话框,默认为 false closeOnEscape   当用户按 Esc 键之后,是否应该关闭对话框

jquery中 $.expr使用实例介绍

<!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> new document </ti

JQuery中的AJAX参数详细介绍

Jquery中AJAX参数详细介绍 参数名 类型 描述 url String    (默认: 当前页地址) 发送请求的地址. type String (默认: "GET") 请求方式 ("POST" 或 "GET"), 默认为 "GET".注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持. timeout Number 设置请求超时时间(毫秒).此设置将覆盖全局设置. async B

基于jquery中children()与find()的区别介绍

本篇文章介绍了,基于jquery中children()与find()的区别,需要的朋友参考下 .children(selector) 方法是返回匹配元素集合中每个元素的所有子元素(仅儿子辈).参数可选,添加参数表示通过选择器进行过滤,对元素进行筛选. .find(selector)方法是返回匹配元素集合中每个元素的后代.参数是必选的,可以为选择器.jquery对象可元素来对元素进行筛选. .find() 与 .children() 方法类似,不同的是后者仅沿着 DOM 树向下遍历单一层级.这里的

jquery eval解析JSON中的注意点介绍

在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式:使用eval()函数.使用Function对象来进行返回解析,下面有个示例,感兴趣的朋友可以参考下 在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eval函数来解析,并且使用jquery的each方法来遍历 用jquery解析JSON数据的方法,作为jquery异步请求的传输对象,jquery请求后返回的结果是json对象,

jQuery中事件模块介绍

事件模块 1.提供其他DOM方法 包括:next 和 nextAll方法 1.1 next方法实现 目标:扩展框架方法,获取当前元素的下一个元素 问题:如何获取下一个元素? 1.1.1 提供 nextSibling 工具方法 说明:这是一个工具型方法,用来获取指定元素的下一个元素 itcast.extend({ nextSibling: function(dom) { var nextNode = dom; while(nextNode = nextNode.nextSibling) { if(

jQuery中的经典动画

show()方法和hide()方法是jQuery中的基本动画方法,hide()方法等于将css()方法设置display属性为none.如何让元素动起来呢,我们可以在show和hide里加入slow,fast,normal或者具体时间 1 $("element").show("slow");//注意加引号哦~ 2 $("element").hide(1000); $("#panel h5.head").toggle(funct

jQuery中的事件和动画

一.jQuery中的事件 加载DOM 在JS中等待页面加载完成通常使用window.onload方法,而在jQuery中则使用$(document).ready()方法来替代传统的window.onload方法.这两者有很大的不同: 执行时机 window.onload方法是在网页所有的元素(包括元素关联的文件)完全加载到浏览器后才能执行.而Query中的$(document).ready()方法,在DOM载入就绪就可以对其操纵并调用它绑定的函数,此时网页中的所有元素可能并没有下载完毕. 有时我