请问除了 onmousemove 拖拽,能否设置网页元素沿着既定路线运动呢(例如弧线)?

想设置一些动态效果,但技术比较渣,只知道一些鼠标拖拽和直线运动的设置方式,想请教能否通过 transform 、 transition 或 animate 等来实现既定路线运动,还望各位不吝赐教,谢谢~

阅读 2.9k
2 个回答

animate可以的。
需要你事先写一个数组来存放轨迹,然后通过更改top,left(或者translateX,translateY)来实现路线运动。
我做了个球按圆形轨迹旋转的demo,可以参考下。

var track=[];
    
var radius=50; //圆圈路径半径
var startX=50,startY=50; //起始位置

for(var i=0;i<360;i+=5){
    var rad=i*Math.PI/180; //计算弧度
    var x=startX+radius*Math.cos(rad);
    var y=startY+radius*Math.sin(rad);
    track.push(x,y)
}

    
var run=(function(){
    for(var i=0,l=track.length;i<l;i+=2){
        $('.ball').animate({top:track[i]+"px",left:track[i+1]+"px"},30);
    }
})();

http://runjs.cn/code/7obynfib

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题