仅爱此一生 2019-05-23 22:56 采纳率: 0%
浏览 516

jQuery里面有stop()方法停止当前的动画,那么怎样才能开启原来停止的动画呢。超级超级感谢大佬们

我按下按钮之后,动画正常进行,我把鼠标放在动画上面的时候,动画就停止了。我现在的问题就是,我把鼠标移开动画区域的时候,怎样才能让动画继续运行,是从停止时的那个状态继续运行,不是重新开始。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>jQuery特效</title>
  <script src="jquery-3.4.1.js"></script>
  <style>
    div{
      border: 1px solid blue;
      padding: 20px 50px;
      width: 300px;
      height: 200px;
      color: red;
      position: relative;
    }
  </style>
</head>
<body>
<button type="button" id="btn8" class="btn">动画效果</button>
<br>
<div >这是动画栏</div>
<script>
  $(document).ready(function () {
    //更改动画
    //一定要在格式中添加位置属性 默认为:  position:relative
    $("#btn8").click(function () {
      $("div").animate({
        left:"+=200",
        top:"+=200"
      },2000);
      $("div").animate({
        left:"+=200",
        top: "-=200"
      },2000);
      $("div").animate({
        left:"-=200",
        top: "-=200"
      },2000);
      $("div").animate({
        left:"-=200",
        top: "+=200"
      },2000);
    })

    //当鼠标停在动画框时停止动画
    $("div").hover(function () {
      $("div").stop(true,false)
      $("div").text("当前动画框静止!")
    })

    //鼠标离开动画框之后继续播放动画
    $("div").mouseleave(function () {
      $("div").text("这是动画栏!")
    })
  })
</script>
</body>
</html>

  • 写回答

2条回答 默认 最新

  • 听楼一夜雨 2019-05-24 10:09
    关注
    <script>
      $(document).ready(function () {
        //更改动画
        //一定要在格式中添加位置属性 默认为:  position:relative
        $("#btn8").click(function () {
            animate_test();
        //当鼠标停在动画框时停止动画
            $("div").hover(function () {
              $("div").stop(true,false);
              $("div").text("当前动画框静止!")
            },function(){
                    if(!$("div").is(":animated")){    //判断元素是否正处于动画状态
                        $("div").text("这是动画栏!");
                        animate_test();     
                    }
            })      
        })
            function animate_test(){
              $("div").animate({
                left:"+=200",
                top:"+=200"
              },2000);
              $("div").animate({
                left:"+=200",
                top: "-=200"
              },2000);
              $("div").animate({
                left:"-=200",
                top: "-=200"
              },2000);
              $("div").animate({
                left:"-=200",
                top: "+=200"
              },2000);
         }
    
    
      })
    </script>
    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)