jQuery动画代码详解

简介: 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 动画的执行时间


  • 第三个参数:动画的执行效果


  • 第四个参数:回调函数



<!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>


jQuery动画队列


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


animate(). animate()



<!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>


jQuery停止动画


三种方法:


  • 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>


jQuery动画案例


京东轮播图


https://yangyongli.blog.csdn.net/article/details/113174943


仿小米手风琴案例


https://yangyongli.blog.csdn.net/article/details/113175216


相关文章
|
1月前
|
JavaScript
鼠标事件(点击换色)分别使用js和jQuery代码实现
鼠标事件(点击换色)分别使用js和jQuery代码实现
28 1
|
3月前
|
移动开发 JavaScript 前端开发
老程序员分享:jQuery笔记(四)jQuery中的动画
老程序员分享:jQuery笔记(四)jQuery中的动画
36 0
|
1天前
|
JavaScript
jQuery 停止动画
jQuery 停止动画
9 4
|
2天前
|
缓存 JavaScript 前端开发
jQuery 效果- 动画
jQuery 效果- 动画
11 4
|
16天前
|
JavaScript 前端开发
jQuery 效果- 动画
jQuery 效果- 动画
33 11
|
16天前
|
JavaScript
jQuery 停止动画
jQuery 停止动画
22 11
|
1月前
|
JavaScript 前端开发
如何在Vue2.X/Vue3.X项目引入jQuery,以及增加jQuery.easing扩展?让你的动画效果更加丝滑!
如何在Vue 2或Vue 3项目中引入jQuery及其动画扩展库jQuery.easing,以实现更丰富的动画效果。
91 0
如何在Vue2.X/Vue3.X项目引入jQuery,以及增加jQuery.easing扩展?让你的动画效果更加丝滑!
|
3月前
|
JavaScript
jQuery 动画小练习
jQuery 动画小练习
25 0
|
3月前
|
JavaScript 前端开发
杨校老师课堂之Web前端JS类库_JQuery案例[效果图与代码齐全]
杨校老师课堂之Web前端JS类库_JQuery案例[效果图与代码齐全]
28 0
|
3月前
|
JavaScript 前端开发
我如何使用jQuery动画我的元素
我如何使用jQuery动画我的元素
24 0