【发布时间】:2015-06-04 10:11:12
【问题描述】:
我正在尝试制作一个弯曲的滑块,可以在其中单击并沿路径拖动一个圆圈。这工作正常,但是当我将圆圈拖到某个位置后拖动它时,它会回到原来的位置
var s=Snap('svg');
animateAlongPath = function (path, element) {
var len = Snap.path.getTotalLength(path);
var move = function(dx) {
var movePoint=Snap.path.getPointAtLength(path, dx);
this.attr({ cx: movePoint.x, cy: movePoint.y });
}
element.drag(move)
}
var path=s.path('M10 200 q 120 -120 140 0 t 140 0').attr({
fill:'none',
stroke:'black'
});
var circle=s.circle(10,200,5);
animateAlongPath(path,circle)
<script src="https://cdnjs.cloudflare.com/ajax/libs/snap.svg/0.3.0/snap.svg-min.js"></script>
<svg width="500" height="500" ></svg>
示例图片
【问题讨论】: