我正在使用Raphael JS在灰色边框内沿y方向拖动一个小图标。两个问题:
如何确保可以多次拖动图标,而不必每次都将图标返回到其初始位置?
如何强制图标停留在灰色边框内?
代码:http://jsfiddle.net/3jEt6/4/。
最佳答案
亲爱的朋友,您的拖放功能不正确。您应该这样使用它。为了控制边框,您应该使用纸张的边框控制图像的y。
http://jsfiddle.net/XcsN/9Bddg/
var start = function () {
this.y = this.attr("y");
},
move = function (dx, dy) {
if (borderControl(r, dy)) {
this.attr({
y: this.y + dy
});
}
},
up = function () {};
和您的borderControl函数:
function borderControl(model, dy) {
var modelBox = model.getBBox();
if (modelBox.y > 0 && modelBox.height + modelBox.y < CANVAS_HEIGHT) return true
if (modelBox.y + modelBox.height >= CANVAS_HEIGHT && dy < 0) return true
if (modelBox.y <= 0 && dy > 0) return true
return false
}