jQuery——jQuery动画

文章目录

三组基本动画

  show不传参数,没有动画效果
  $("div").show();
  
  show(speed)
  speed:动画的持续时间  可以是毫秒值 还可以是固定字符串
  fast:200ms   normal:400ms   slow:600
  $("div").show("ddd");

动画展示

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    div {
      width: 400px;
      height: 400px;
      background-color: pink;
      display: none;
    }
  </style>
</head>
<body>
<input type="button" value="显示">
<input type="button" value="隐藏">

<div></div>

<script src="jquery-1.12.4.js"></script>
<script>
  $(function () {
    
    $("input").eq(0).click(function () {
      
      // show([speed], [callback])
      $("div").show(1000, function () {
        console.log("哈哈,动画执行完成啦");
      })
    });
    
    $("input").eq(1).click(function () {
      $("div").hide();
    })
  });
</script>
</body>
</html>

1、滑入滑出动画

  • 滑入(slideDown)
  • 滑出:slideU
<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    div {
      width: 400px;
      height: 400px;
      background-color: pink;
      display: none;
    }
  </style>
</head>
<body>
<input type="button" value="显示">
<input type="button" value="隐藏">
<input type="button" value="来来回回">
<input type="button" value="切换">

<div></div>

<script src="jquery-1.12.4.js"></script>
<script>
  $(function () {
    
    
    //滑入(slideDown)  滑出:slideU
    $("input").eq(0).click(function () {
      
      //slideDown:如果不传参数,有一个默认值normal
      //$("div").slideDown();
      //$("div").slideDown(1000);
      $("div").slideDown(1000, function () {
        console.log("乌拉拉");
      });
    });
    
    
    $("input").eq(1).click(function () {
      $("div").slideUp(2000, function () {
        console.log("我滑走了 哈哈哈   这句话打印用两秒")
      });
      
    })

    $("input").eq(2).click(function () {
      $('div').slideUp(1000);
      $("div").slideDown(2000, function () {
        console.log("我滑走又回来了 哈哈哈   这句话打印用两秒")
      });
      
    })
  
  
    $("input").eq(3).click(function () {
      
      //如果是滑入状态,就执行滑出的动画,
      $('div').slideToggle();
    })
  });
</script>
</body>
</html>

2、淡入淡出动画

  • 淡入:fadeIn
  • 淡出:fadeOut
  • 切换:fadeToggle (如果是滑入状态,就执行滑出的动画,反之一样)人家就是这样用的 你别犟 这就是个封装好的方法,不用管别的 我天
<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    div {
      width: 400px;
      height: 400px;
      background-color: pink;
      display: none;
    }
  </style>
</head>
<body>
<input type="button" value="显示">
<input type="button" value="隐藏">
<input type="button" value="切换">

<div></div>

<script src="jquery-1.12.4.js"></script>
<script>
  $(function () {
    
    
    //淡入:fadeIn  淡出:fadeOut    切换:fadeToggle
    $("input").eq(0).click(function () {
      $("div").fadeIn(2000);
      
    });
    
    $("input").eq(1).click(function () {
      $("div").fadeOut(1000);
    })
    
    
    $("input").eq(2).click(function () {
      //如果是滑入状态,就执行滑出的动画,
      $('div').fadeToggle();
    })
  });
</script>
</body>
</html>

3、自定义动画

animate()

  • 第一个参数:对象,里面可以传需要动画的样式
  • 第二个参数:speed 动画的执行时间
  • 第三个参数:动画的执行效果
  • 第四个参数:回调函数
    jQuery——jQuery动画
<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    div {
      width: 100px;
      height: 100px;
      background-color: pink;
      position: absolute;
    }
    #box2 {
      background-color: blue;
      margin-top: 150px;
    }
    
    #box3 {
      background-color: yellowgreen;
      margin-top: 300px;
    }
  </style>
</head>
<body>
<input type="button" value="开始">
<input type="button" value="结束">
<div id="box1"></div>
<div id="box2"></div>
<div id="box3"></div>

<script src="jquery-1.12.4.js"></script>
<script>
  $(function () {
    $("input").eq(0).click(function () {
      
      //第一个参数:对象,里面可以传需要动画的样式
      //第二个参数:speed 动画的执行时间
      //第三个参数:动画的执行效果
      //第四个参数:回调函数
      $("#box1").animate({left:800}, 8000);
      
      //swing:秋千 摇摆
      $("#box2").animate({left:800}, 8000, "swing");
      
      //linear:线性 匀速
      $("#box3").animate({left:800}, 8000, "linear", function () {
        console.log("hahaha");
      });
    })
  });
</script>
</body>
</html>

动画队列

把这些动画存储到一个动画队列里面,构成一组动画,来完成一套动作

animate(). animate()
jQuery——jQuery动画

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    div {
      width: 100px;
      height: 100px;
      background-color: pink;
      position: absolute;
    }
  </style>
</head>
<body>
<input type="button" value="按钮" id="btn">
<div></div>

<script src="jquery-1.12.4.js"></script>
<script>
  $(function () {
    $("#btn").click(function () {
      
      //把这些动画存储到一个动画队列里面
      $("div").animate({left:800})
        .animate({top:400})
        .animate({width:300,height:300})
        .animate({top:0})
        .animate({left:0})
        .animate({width:100,height:100})
    })
  });
</script>
</body>
</html>

停止动画

三种方法:

  • stop:停止当前正在执行的动画
  • clearQueue:是否清除动画队列 true false
  • jumpToEnd:是否跳转到当前动画的最终效果 true false

.stop().animate();

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    div {
      width: 400px;
      height: 400px;
      background-color: pink;
      display: none;
    }
  </style>
</head>
<body>
<input type="button" value="开始">
<input type="button" value="结束">
<div></div>

<script src="jquery-1.12.4.js"></script>
<script>
  $(function () {
    $("input").eq(0).click(function () {
      $("div").slideDown(4000).slideUp(4000);
    });
    
    
    $("input").eq(1).click(function () {
      // stop:停止当前正在执行的动画
      // clearQueue:是否清除动画队列 true  false
      // jumpToEnd:是否跳转到当前动画的最终效果 true false
      
      //.stop().animate();
      $("div").stop(true, true);
    })
  });
</script>
</body>
</html>
上一篇:Python 静态分析Pylint、Pyflakes 与 Mypy ——我应该用谁?


下一篇:OEM 12C(12.1.0.5)安装插件Plug-in监控MySQL(Linux)