animate-queue和step-animate

Step-animate:

  分为3部分:{配置},{step:function(){...},duration:1000}

<div id="warpper" style="width: 50px;height: 100px;position: absolute;top: 10%;left: 45%;background: green;">
        </div>
        <script type="text/javascript">
            $(function(){
                $("#warpper").animate(
                    {
                        // 即使opacity只是配置,但opacity依旧有动画效果,会从0增长
                        opacity: "0.5",
                        // 自定义配置:数字配置,会从0增长
                        rotate: "125",
                        // 自定义配置:从0变成Na
                        // 最后一个配置后面 不能有 ;
                        background: "red"
                        // step有2个参数 当前值:now 和 fx
                    },{step:function(now,fx){
                            $(this).css("transform","rotate("+now+"deg)");
                            // 利用 fx.prop 获取配置的 rotate 进行判断
                            // now有15个小数位,所以最好解析成 Int 类型
                            if(fx.prop == "rotate" && parseInt(now) < 47 && parseInt(now) > 43){
                                // animate 不能控制颜色! 所以要么用step 要么用 queue。
                                $(this).css("background","red");    
                                // fx.elem.id :fx能获取 元素(elem)的ID属性
                                console.log(fx.elem.id);
                                // 获取配置的初试结束值
                                console.log(fx.start + " - " + fx.end);
                            }
                            // 设置动画持续时间
                            // 持续时间最后面不能有 ;
                        },duration:1000
                    }
                );
            })
        </script>

 

通过 queue删除动画 队列, 用 dequeue继续动画

            $("#warpper").click(function() {
                $("div").show("slow").animate({
                    left: '+=200'
                }, 1000).queue(function() {
                    $(this).addClass("newcolor");
                    $(this).dequeue();
                }).animate({
                    left: '-=200'
                }, 1500).queue(function() {
                    $(this).removeClass("newcolor");
                    $(this).dequeue();
                }).slideUp();
            });
            $("#stop").click(function() {
                $("div").queue("fx", []); /* 如果有queue那么stop就要加这句*/
                $("div").stop();
            });

            清空尚未执行的所有队列
            $("div").clearQueue();

 

转载于:https://www.cnblogs.com/zhongmeizhi/p/6343252.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值