jquery常用动画(show/hide/slideDown/slideUp/fadeIn/fadeOut/fadeTo/自定义动画/停止动画)详解...

动画操作也是jquery一个很突出的点,特别方法,赶紧学习一下吧:

动画

  • jQuery提供的一组网页中常见的动画效果,这些动画是标准的、有规律的效果;同时还提供给我们了自定义动画的功能。

动画的显示和隐藏

+_ show()_:让匹配的元素展示出来

//第一种: 带参,一个参数,数值,毫秒值。
$("button:eq(0)").click(function () {
    //显示盒子
    $("div").show(1000);  //所有属性在1秒内变为初始化值。display: block;
});
//第二种;   带参,一个参数,字符串,slow,normal,fast。600/400/200
$("button:eq(0)").click(function () {
    //显示盒子
    $("div").show("normal");  //所有属性在1秒内变为初始化值。display: block;
});
//第三种;   带参,两个参数,时间和回调函数
$("button:eq(0)").click(function () {
    //显示盒子
    $("div").show(1000, function () {
        alert("动画执行完毕!");
        $("div").hide();
    });  //所有属性在1秒内变为初始化值。display: block;
});
//第四种;  无参,类似$("div").css("display","block");
$("button:eq(0)").click(function () {
    //显示盒子
    $("div").show();  //所有属性在1秒内变为初始化值。display: block;
	$("div").css("display","block");  //所有属性在1秒内变为初始化值。display: block;
});
  • hide():让匹配的元素隐藏掉
//第一种;带参,一个参数,数值,毫秒值。
$("button:eq(1)").click(function () {
    //隐藏盒子
    $("div").hide(1000);  //所有属性在1秒内变为初始化值。display: block;
});
//第二种;   带参,一个参数,字符串,slow,normal,fast。600/400/200
$("button:eq(1)").click(function () {
    //隐藏盒子
    $("div").hide("fast");  //所有属性在1秒内变为初始化值。display: block;
});
//第三种;   带参,两个参数,时间和回调函数
$("button:eq(1)").click(function () {
    //隐藏盒子
    $("div").hide(1000, function () {
        alert("动画执行完毕!");
        $("div").show();
    });  //所有属性在1秒内变为初始化值。display: block;
});
//第四种;  无参,类似$("div").css("display","none");
$("button:eq(1)").click(function () {
    //隐藏盒子
    $("div").hide();  //所有属性在1秒内变为初始化值。display: block;
    $("div").css("display","none");  //所有属性在1秒内变为初始化值。display: block;
});
  • toggle():切换匹配的元素
//第一种;   带参,一个参数,数值,毫秒值。
$("button:eq(2)").click(function () {
    //切换盒子状态
    $("div").toggle(1000);  //切换
});
//第二种;   带参,一个参数,字符串,slow,normal,fast。600/400/200
$("button:eq(2)").click(function () {
    //切换盒子状态
    $("div").toggle("fast");  //切换
});
//第三种;   带参,两个参数,时间和回调函数
$("button:eq(2)").click(function () {
    //切换盒子状态
    $("div").toggle(1000, function () {
        alert("动画执行完毕!");
    });  //切换
});
//第四种;  无参
$("button:eq(2)").click(function () {
    //切换盒子状态
    $("div").toggle();  //切换
});

动画的滑入和滑出

  • 滑入_slideDown()_:让元素以下拉动画效果展示出来
//第一种;   带参,一个参数,数值,毫秒值。
$("button:eq(0)").click(function () {
    //滑入
    $("div").slideDown(1000);
});
//第二种;   带参,一个参数,字符串,slow,normal,fast。600/400/200
$("button:eq(0)").click(function () {
    //滑入
    $("div").slideDown("fast");
});
//第三种;   带参,两个参数,时间和回调函数
$("button:eq(0)").click(function () {
    //滑入
    $("div").slideDown(1000, function () {
        alert("动画执行完毕!");
    });
});
//第四种;  无参
$("button:eq(0)").click(function () {
    //正常速度滑出
    $("div").slideDown();
});
  • 滑出_slideUp()_:让元素以上拉动画效果隐藏起来
//第一种;   带参,一个参数,数值,毫秒值。
$("button:eq(1)").click(function () {
    //滑出
    $("div").slideUp(1000);
});
//第二种;   带参,一个参数,字符串,slow,normal,fast。600/400/200
$("button:eq(1)").click(function () {
    //滑出
    $("div").slideUp("fast");
});
//第三种;   带参,两个参数,时间和回调函数
$("button:eq(1)").click(function () {
    //滑出
    $("div").slideUp(1000, function () {
        alert("动画执行完毕!");
    });
});
//第四种;  无参
$("button:eq(1)").click(function () {
    //正常速度滑出
    $("div").slideUp();
});
  • 切换_slideToggle()_:滑入滑出切换动画效果
//第一种;   带参,一个参数,数值,毫秒值。
$("button:eq(2)").click(function () {
  //切换
  $("div").slideToggle(1000);
});
//第二种;   带参,一个参数,字符串,slow,normal,fast。600/400/200
$("button:eq(2)").click(function () {
  //切换
  $("div").slideToggle("fast");
});
//第三种;   带参,两个参数,时间和回调函数
$("button:eq(2)").click(function () {
  //切换
  $("div").slideToggle(1000, function () {
      alert("动画执行完毕!");
  });
});
//第四种;  无参
$("button:eq(2)").click(function () {
    //切换
    $("div").slideToggle();
});

动画的淡入和淡出和淡至

  • 淡入_fadeIn()_:让元素以淡淡的进入视线的方式展示出来
//第一种;   带参,一个参数,数值,毫秒值。
$("button:eq(0)").click(function () {
    //淡入
    $("div").fadeIn(1000);
});
//第二种;   带参,一个参数,字符串,slow,normal,fast。600/400/200
$("button:eq(0)").click(function () {
    //淡入
    $("div").fadeIn("fast");
});
//第三种;   带参,两个参数,时间和回调函数
$("button:eq(0)").click(function () {
    //淡入
    $("div").fadeIn(2000, function () {
        alert("动画执行完毕!");
    });
});
//第四种;  无参
$("button:eq(0)").click(function () {
    //正常速度淡入
    $("div").fadeIn();
});
  • 淡出_fadeOut()_:让元素以渐渐消失的方式隐藏起来
//第一种;   带参,一个参数,数值,毫秒值。
$("button:eq(1)").click(function () {
    //淡出
    $("div").fadeOut(1000);
});
//第二种;   带参,一个参数,字符串,slow,normal,fast。600/400/200
$("button:eq(1)").click(function () {
    //淡出
    $("div").fadeOut("fast");
});
//第三种;   带参,两个参数,时间和回调函数
$("button:eq(1)").click(function () {
    //淡出
    $("div").fadeOut(2000, function () {
        alert("动画执行完毕!");
    });
});
//第四种;  无参
$("button:eq(1)").click(function () {
    //正常速度淡出
    $("div").fadeOut();
});
  • 切换_fadeToggle()_:通过改变透明度,切换匹配元素的显示或隐藏状态
//第一种;   带参,一个参数,数值,毫秒值。
$("button:eq(2)").click(function () {
    //切换
    $("div").fadeToggle(2000);
});
//第二种;   带参,一个参数,字符串,slow,normal,fast。600/400/200
$("button:eq(2)").click(function () {
    //切换
    $("div").fadeToggle("fast");
});
//第三种;   带参,两个参数,时间和回调函数
$("button:eq(2)").click(function () {
    //切换
    $("div").fadeToggle(1000, function () {
        alert("动画执行完毕!");
    });
});
//第四种;  无参
$("button:eq(2)").click(function () {
    //正常速度切换
    $("div").fadeToggle();
});
  • 注意:除此之外,fade还有一个是淡至,改变透明度到某个值。与淡入淡出的区别:淡入淡出只能控制元素的不透明度从 完全不透明 到完全透明;而fadeTo可以指定元素不透明度的具体值。并且时间参数是必需的!

  • 淡至_fadeTo()_:调节匹配元素的不透明度

//第一种;
$("button:eq(3)").click(function () {
    //正常速度切换
    $("div").fadeTo(1000,0.5);
});
//第二种;
$("button:eq(3)").click(function () {
    //正常速度切换
    $("div").fadeTo(1000,0.5, function () {
        alert("动画执行完毕!");
    });
});

动画总结

动画总结

自定义动画

  • 所有能够执行动画的属性必须只有一个数字类型的值。
    • 要改变字体大小,要使用:fontSize(font-size),不要使用:font
//一种;   带参,两个或三个参数,json时间和回调函数。
$("button:eq(0)").click(function () {
    var json1 = {"width":50,"height":50,"border-radius":25,"top":300,"left":300}
    var json2 = {"width":100,"height":50,"border-radius":0,"top":100,"left":30,"
background":"red"}
    //两个或三个参数,json时间和回调函数。
    $("div").animate(json1,2000, function () {
        $("div").animate(json2,2000, function () {
            alert("函数执行完毕!");
        });
    });
});

停止动画

  • stop():停止当前正在执行的动画
  • 如果一个以上的动画方法在同一个元素上调用,那么对这个元素来说,后面的动画将被放到效果队列中。这样就形成了动画队列。(联想:排队进站)
  • 动画队列里面的动画不会执行,直到第一个动画执行完成。
// 第一个参数表示是否清空所有的后续动画
// 第二个参数表示是否立即执行完当前正在执行的动画
// 第一个参数表示后续动画是否要停止
//(true:后续动画不执行;false:后续动画会执行)
// 第二个参数表示当前动画是否执行完完毕
//(true:立即执行完成当前动画  ;false:立即停止当前动画)
$(selector).stop(clearQueue,jumpToEnd);
  • 看一看
//滑入滑出
$("button:eq(0)").click(function () {
    //正常速度滑出
    $("div").slideToggle(2000);
});
//停止动画
$("button:eq(1)").click(function () {
    //停止动画,什么都不写,默认为两个参数都是false;
    //当前动画立刻停止,后续动画照样执行。
    $("div").stop();
    // 第一个参数表示后续动画是否要停止
    //(true:后续动画不执行;false:后续动画会执行)
    // 第二个参数表示当前动画是否执行完完毕
    //(true:立即执行完成当前动画;false:立即停止当前动画)
    //false,false; 后续动画会执行,立即停止当前动画
    $("div").stop(false,false);
    //false,true; 后续动画会执行,立即执行完成当前动画
    $("div").stop(false,true);
    //true,false; 后续动画不执行,立即停止当前动画
    $("div").stop(true,false);
    //true,false; 后续动画不执行,立即执行完成当前动画
    $("div").stop(true,true);
});
  • 如果元素动画还没有执行完,此时调用sotp()方法,那么动画将会停止。并且动画没有执行完成,那么回调函数也不会被执行。

注意点

  • 为了避免冒泡,使用mouseenter和mouseleave代替mouseover和mouseout。
  • opacity透明度和rgba透明度有什么不同?
    • opacity作用于元素,以及元素内所有内容的透明度。
    • rgba只作用于元素的颜色或者背景色。设置rgba透明的元素的子元素不会继承透明效果。
  • show()/hide()/slideDown()/slideUp()/fadeIn()/fadeOut()/fadeTo()不会把之前定义的方法层叠掉,先定义的先执行。

如果本文有什么错误,欢迎留言指正! 希望看到本文的您,看完本文会您有所帮助! 如果觉得还不错,点个赞哦!

转载于:https://my.oschina.net/yxmBetter/blog/829971

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值