Raphael JS:如何正确拖动使用'转换'?

时间:2014-04-13 19:34:47

标签: javascript raphael transformation

我正在使用Raphael JS在y方向上拖动一个小图标,在灰色边框内。两个问题:

  1. 如何确保图标可以多次拖动,而每次图标都不会返回初始位置?
  2. 如何强制图标保留在灰色边框内?
  3. 代码:http://jsfiddle.net/3jEt6/4/

1 个答案:

答案 0 :(得分:2)

亲爱的朋友你的拖放功能不正确。你应该像这样使用它。而对于控制边框,您应该使用纸张边框控制图像。 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
 }