jQuery 停止动画 stop();

167 阅读1分钟
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    div {
      width: 300px;
      height: 300px;
      display: none;
      background-color: pink;
    }
  </style>
  <script src="jquery-3.4.1.js"></script>
  <script>
    $(function () {
      // 点击按钮之后滑入动画
      $('button:eq(0)').click(function () {
        $('div').slideDown(5000, function () {
          console.log('动画执行完毕');
        });
      })
      
      // 点击按钮之后滑出动画
      $('button:eq(1)').click(function () {
        $('div').slideUp(5000, function () {
          console.log('动画执行完毕');
        });
      })

      // 点击按钮之后停止动画
      $('button:eq(2)').click(function () {
        // $(selector).stop(clearQueue,jumpToEnd);
        // 第一个参数表示后续动画是否要执行 (true: 后续动画不执行; false: 后续动画会执行)
        // 第二个参数表示当前动画是否执行完 (true: 立即执行完成当前动画; false: 立即停止当前动画)
        // stop(); 可以传入两个参数,都不传,默认为false。
        // $('div').stop();

        // 四种情况:情况1:true ture
        // (立即执行完成当前动画,后续动画不执行)
        // $('div').stop(true, true);

        // 四种情况:情况2:false ture
        // $('div').stop(false, true);

        // 四种情况:情况3:ture false
        // $('div').stop(true, false);

        // 四种情况:情况4:false false
        $('div').stop(false, false);
        // $('div').stop();
      })
    })
  </script>
</head>
<body>
  <button>滑入</button>
  <button>滑出</button>
  <button>停止</button>
  <div></div>
</body>
</html>

  • demo 效果

  • $('div').stop(true, true);

  • $('div').stop(false, true);

  • $('div').stop(true, false);

  • $('div').stop(false, false);