返回顶部
首页 > 资讯 > 前端开发 > JavaScript >jquery的stop()方法如何使用
  • 694
分享到

jquery的stop()方法如何使用

2024-04-02 19:04:59 694人浏览 八月长安
摘要

本篇内容主要讲解“Jquery的stop()方法如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“jquery的stop()方法如何使用”吧!

本篇内容主要讲解“Jquery的stop()方法如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“jquery的stop()方法如何使用”吧!

在jquery中,stop()方法用于为被选元素停止当前正在运行的动画效果,语法“$(selector).stop(stopAll,GoToEnd)”;参数stopAll和goToEnd都是可选参数,其取值都是布尔值,默认值都是false。

jquery的stop()方法如何使用

教程操作环境:windows7系统、jquery1.10.2版本、Dell G3电脑。

在jquery中,stop()方法用于为被选元素停止当前正在运行的动画效果。

语法:

$(selector).stop(stopAll,goToEnd)

stopAll 和 goToEnd 都是可选参数,它们的取值都是布尔值,默认值都是 false。stopAll 表示停止队列动画。当取值为 false 时,仅停止当前动画;当取值为 true 时,停止当前动画以及后面所有的队列动画。goToEnd 表示将动画跳转到当前动画效果的最终状态。

其中,stop() 方法共有 4 种形式,如表 1 所示。

表 1:stop() 方法的 4 种形式
形式说明
stop()等价于 stop(false, false),仅停止当前动画,后面的动画还可以继续执行
stop(true)等价于 stop(true, false),停止当前动画,并且停止后面的动画
stop(true, true)当前动画继续执行,只停止后面的动画
stop(false, true)停止当前动画,跳到最后一个动画,并且执行最后一个动画

一般来说,在实际开发中我们只会用到 stop() 方法的第 1 个参数,很少用到第 2 个参数。

举例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <style type="text/CSS">
        div
        {
            width:50px;
            height:50px;
            background-color:lightskyblue;
        }
    </style>
    <script src="js/jquery-1.12.4.min.js"></script>
    <script src="js/jquery.color.js"></script>
    <script>
        $(function () {
            $("#btn-start").click(function () {
                $("div").animate({ "width": "200px" }, 2000)
                      .animate({ "background-color": "red" }, 2000)
                      .animate({ "height": "200px" }, 2000)
                      .animate({ "background-color": "blue" }, 2000);
            });
            $("#btn-stop").click(function () {
                $("div").stop();
            })
        })
    </script>
</head>
<body>
    <input id="btn-start" type="button" value="开始" />
    <input id="btn-stop" type="button" value="停止" /><br />
    <div></div>
</body>
</html>

预览效果下图所示。

jquery的stop()方法如何使用

在这个例子中,我们使用 animate() 方法定义了 4 个动画。我们点击【开始】按钮后,过了一会儿如果再点击【停止】按钮,就会立即停止当前执行的动画(也就是停止当前的 animate() 方法),然后跳到下一个动画(也就是下一个 animate() 方法)。

如果再次点击【停止】按钮,它又会跳到下一个动画,以此类推。小伙伴们可以自行测试来感受一下。

如果想要停止所有的队列动画,可以通过定义 stop() 方法的第一个参数为 true 来实现,代码如下:

$("#btn-stop").click(function () {
    $("div").stop(true);
})

举例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <style type="text/css">
        div
        {
            width:50px;
            height:50px;
            background-color:lightskyblue;
        }
    </style>
    <script src="js/jquery-1.12.4.min.js"></script>
    <script>
        $(function () {
            $("div").hover(function () {
                $(this).animate({ "height": "150px" }, 500);
            }, function () {
                $(this).animate({ "height": "50px" }, 500); //移出时返回原状态
            })
        })
    </script>
</head>
<body>
    <div></div>
</body>
</html>

预览效果下图所示。

jquery的stop()方法如何使用

在这个例子中,我们使用 hover() 方法定义鼠标指针移入和鼠标指针移出时的动画效果。当我们快速地移入或移出元素时,会发现一个很奇怪的 bug:元素会不断地变长或变短!也就是说,动画会不断执行,根本停不下来。

这种“根本停不下来”的 bug 在实际开发中经常会碰到,小伙伴们一定要特别注意。实际上,这个 bug 是由动画累积所导致的。在 jQuery 中,如果一个动画没有执行完,它就会被添加到“动画队列”中去。在这个例子中,每一次移入或移出元素,都会产生一个动画,如果该动画没有被执行完,它就会被添加到动画队列中去,然后没有被执行完的动画会继续执行,直到所有动画执行完毕。

针对这个 bug,我们只需要在移入或移出元素产生的动画执行之前加入 stop() 方法,就能轻松解决。最终修改后的代码如下。

$("div").hover(function () {
    $(this).stop().animate({ "height": "150px" }, 500);
}, function () {
    $(this).stop().animate({ "height": "50px" }, 500);    //移出时返回原状态
})

对于这种由于动画累积产生的 bug,我们还可以通过is(":animated")来判断当前的动画状态并解决。对于is(":animated")这种方式,之后会详细介绍。

实际上,jQuery 还有一个方法可以中断动画——finish()。这个方法与 stop(true,true) 方法效果类似,因为它会清除排队的动画并使当前动画跳到最终值。不过,与 stop(true,true) 不同的是,它会使所有排队的动画都跳到各自的最终值。finish() 方法用得不多,我们简单了解一下即可。

到此,相信大家对“jquery的stop()方法如何使用”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: jquery的stop()方法如何使用

本文链接: https://lsjlt.com/news/90189.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • jquery的stop()方法如何使用
    本篇内容主要讲解“jquery的stop()方法如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“jquery的stop()方法如何使用”吧! ...
    99+
    2024-04-02
  • jQuery中stop()方法有什么用
    小编给大家分享一下jQuery中stop()方法有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!jQuery stop()...
    99+
    2024-04-02
  • jquery的indexof方法如何使用
    在jQuery中,`indexOf()`方法是用于在数组或字符串中查找指定元素或子字符串的位置的方法。它的使用方式如下:1. 对于数...
    99+
    2023-08-24
    jquery indexof
  • jQuery append()方法如何使用
    这篇文章主要介绍“jQuery append()方法如何使用”,在日常操作中,相信很多人在jQuery append()方法如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • jQuery如何使用unbind方法
    这篇文章主要介绍jQuery如何使用unbind方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、前言unbind方法只能解绑用jQuery的bind方法以及用jquery方法注...
    99+
    2024-04-02
  • jQuery如何使用on()方法
    这篇文章主要为大家展示了“jQuery如何使用on()方法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jQuery如何使用on()方法”这篇文章吧。请使用&#...
    99+
    2024-04-02
  • jQuery如何使用is()方法
    这篇文章主要为大家展示了“jQuery如何使用is()方法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jQuery如何使用is()方法”这篇文章吧。is()方...
    99+
    2024-04-02
  • jquery中的index()方法如何使用
    这篇文章主要介绍了jquery中的index()方法如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇jquery中的index()方法如何使用文章都会有所收获,下面我们一...
    99+
    2024-04-02
  • jquery中如何使用trim()方法
    这篇文章主要介绍jquery中如何使用trim()方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 在jquery中,trim()方...
    99+
    2024-04-02
  • wrap()方法如何在jQuery中使用
    本篇文章给大家分享的是有关wrap()方法如何在jQuery中使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。jquery是什么jquery是一个简洁而快速的JavaScri...
    99+
    2023-06-14
  • nextUtil()方法如何在jQuery中使用
    今天就跟大家聊聊有关nextUtil()方法如何在jQuery中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。jquery是什么jquery是一个简洁而快速的JavaScript...
    99+
    2023-06-14
  • 如何在jQuery中使用not()方法
    这篇文章给大家介绍如何在jQuery中使用not()方法,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。jquery是什么jquery是一个简洁而快速的JavaScript库,它具有独特的链式语法和短小清晰的多功能接口、...
    99+
    2023-06-14
  • 如何在jquery中使用eq()方法
    本篇文章为大家展示了如何在jquery中使用eq()方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。jquery是什么jquery是一个简洁而快速的JavaScript库,它具有独特的链式语法和短...
    99+
    2023-06-14
  • append()方法如何在jquery中使用
    这期内容当中小编将会给大家带来有关append()方法如何在jquery中使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。jquery是什么jquery是一个简洁而快速的JavaScript库,它具有独...
    99+
    2023-06-14
  • 如何在jquery中使用html()方法
    这篇文章将为大家详细讲解有关如何在jquery中使用html()方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在javascript中,“html()”方法的用法是“元素.html(被选...
    99+
    2023-06-15
  • jquery的val()方法如何用
    本篇内容介绍了“jquery的val()方法如何用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • jquery的parent方法如何用
    这篇文章主要介绍“jquery的parent方法如何用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“jquery的parent方法如何用”文章能帮助大家解决问题。 ...
    99+
    2024-04-02
  • jquery的select()方法如何用
    这篇文章主要介绍“jquery的select()方法如何用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“jquery的select()方法如何用”文章能帮助大家解决...
    99+
    2024-04-02
  • jquery has()方法如何用
    本文小编为大家详细介绍“jquery has()方法如何用”,内容详细,步骤清晰,细节处理妥当,希望这篇“jquery has()方法如何用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。jquery has()方...
    99+
    2023-07-05
  • jquery中的fadeout方法如何用
    本篇内容介绍了“jquery中的fadeout方法如何用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作