tweenMax实体抛物线

本文介绍了一种使用TweenMax库结合HTML和JavaScript来创建动态网页元素的方法。通过Bezier曲线实现平滑过渡效果,使页面上的元素能够从当前位置移动到指定的目标位置,并在过程中呈现出流畅的动画效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="jquery.js"></script>  
    <script src="TweenMax.min.js"></script>  
    <style>
    .div{position: absolute;width: 200px;height: 200px;top: 0;left: 0;}  
    .div2{width: 40px;height: 30px;background-color:pink;border-radius: 50%;} 
    </style>
</head>
<body>
     
</body>
</html>

<script>
//目标位置
var tx=500,ty=50;

function move(obj,x,y){
    var t = new TimelineMax();
// tweenmax-bezier曲线     staggerTo可以元素一起运动
    t.staggerTo(obj,1,{  
    // bezier函数返回数组   只有 staggerTo 才可以使用 cycle
    cycle : {  
        bezier : function(){  
            var max=Math.max(tx,x);
            var min=Math.min(tx,x);
            var val=(max-min)*0.5+min;
            return [  
                {top:y,left:x},  
                {top:Math.min(y,ty)*0.5,left:val},  
                {top:ty,left:tx},  
            ]  
        }  
        },
        onComplete:function(){
        $(obj).fadeOut(function(){
            $(this).remove();
        });
        }  
    }
);
}

var i=0;
$(document).on("click",function(e){
    var x=e.pageX,
        y=e.pageY;
        console.log(x,y);
        $('<div class="div div2 div2'+i+'"></div>').appendTo("body").css({top:y,left:x});
        move(".div2"+i,x,y);
        i++;
});
</script>

 

转载于:https://www.cnblogs.com/zhangzhicheng/p/7492531.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值