jQuery的动画

动画

1 定义好的动画方法

  • 显示隐藏:宽高透明度

    • show(speed,easing,callback) : 显示

    • hide(speed,easing,callback) : 隐藏

    • toggle(speed,easing,callback) : 开关效果

    • 参数:

      • speed:运动时间

        值:number ms

        ​ 关键字:fast(200),normal(400) slow(600)

      • swing:运动方式

        值:linear:匀速 swing:慢–快--慢

      • callback:回调函数

    ​ 值:linear:匀速 swing:慢–快--慢

  • 淡入淡出:透明度

    • fadeIn(speed,easing,callback) : 淡入
    • fadeOut(speed,easing,callback) : 淡出
    • fadeToggle(speed,easing,callback) : 开关
    • fadeTo(speed,to,easing,callback):透明到
  • 划入划出:高度

    • slideDown(speed,easing,callback) : 划入
    • slideUp(speed,easing,callback) : 划出
    • slideToggle(speed,easing,callback) : 开关

2 自定义动画

  • 第一种用法

    $("标签").animate({运动参数},speed,easing,callback)
    	参数:
            {}:运动参数
            speed:运动时间 默认是400
            easing: linear swing
            callback:回调函数
    
    //1.动画队列(queue): 每一个animate会自动加入到动画队列,排队执行
    $("div").animate({"width":500},500);
    $("div").animate({"height":500},500);
    
    //2.同时运动
    
    $("div").animate({"width":500,"height":500});
    
    //3.show、hide、toggle直接作为目标值使用
    $("div").animate({"width":"hide"});  //0
    $("div").animate({"width":"show"});  //元素本身的宽度
    
    //4.累加
    $("button").click(function(){
        $("div").animate({"left":"+=50"});
    })
    
    
    //5.链式操作,css不是动画,不会加入到动画队列,会跟着动画队列中的一个动画开始执行
    $("div").animate({"width":500})
        .animate({"height":500})
        .queue(function(next){
            $("div").css("background","deeppink");
            // $("div").dequeue();  从队列中移除,不建议使用
            next();
    	})
        .animate({"opacity":0.5});
    
  • 第二种用法

    $("标签").animate({},{options})  
    	options可能的值:
            duration - 设置动画的速度
            easing - 规定要使用的 easing 函数
            callback - 规定动画完成之后要执行的函数
            queue - 布尔值。指示是否在效果队列中放置动画。如果为 false,则动画将立即开始
            false:当前动画运动的时候,后面紧跟着的动画一起执行
    
    $("div").animate({"width":500},{"duration":1000,"queue":false});
    $("div").animate({"height":500},{"duration":1000,});
    

3 停止动画

停止动画:$().stop(clearQueue,gotoEnd)
参数
	clearQueue:是否停止动画队列中所有的动画,默认是false
		false:只停止当前正在运动的动画,其他的照常执行
		true:停止所有的动画
	gotoEnd:当前运动动画停止的时候,是否立刻到达目标点,默认是false
			false:点那就停那
		true:点击停止,当前动画,立刻到目标点
	
	finish():停止所有的动画,都会立即到达目标点

4 滚动条运动

$("html,body").animate({"scrollTop":});
5 其他方法
.delay(时间):延迟执行
$().is(":aniated"):判断当前元素是否存在动画
$("button").click(function(){
    /* $("div").delay(3000) //延迟
                    .animate({"opacity":0.5}); */
    var is = $("div").is(":animated"); //判断当前标签上是否存在动画,true-有 false-没有
    console.log(is);
    if(!is){
        $("div").animate({"width":"toggle"});
    }
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值