管理对旋转元素的拖动

时间:2011-11-18 12:22:37

标签: javascript css3 mootools

这是我在这里的第一篇文章,所以要对我温柔;)

我正在尝试使用MooTools创建一个简单的编辑器(尽管仍为1.2.5)。每个元素都有一个拖动角,使其可以调整大小。

整个过程非常好,直到元素旋转。在给它 -moz-transform:rotate(Xdeg)属性后,拖动变得疯狂(简单示例:http://jsfiddle.net/HTg57/1/

我知道为什么会发生这种情况 - 虽然元素被旋转所有事件都会在元素处于正常位置时出现。

问题是 - 是否有某些库可以处理这个问题? 我想我知道如何自己解决这个问题,但这需要时间,而我却没有。

那么 - 是否有任何现成的解决方案可以在旋转元素时使拖动正常工作?

1 个答案:

答案 0 :(得分:0)

不确定你的'正常工作'是什么意思,但你真的应该看看这个,这更有意义(行为明智):http://jsfiddle.net/dimitar/HTg57/2/

var Box = new Class({

    mEl: null,

    mDragEl: null,

    mDrag: null,

    initialize: function(pEl) {
        this.mEl = pEl;
        this.createDrag();
    },

    createDrag: function() {
        this.mDragEl = new Element('div', {
            'class': 'drag'
        }).inject(this.mEl);
        this.mEl.makeResizable({
            handle: this.mDragEl,
            limit: {
                x: [60,300],
                y: [60,300]
            }
        });
    }
});

new Box(document.getElement('div.box'));
new Box(document.getElement('div.rotate'));

它利用了带有句柄和大小限制器的element.makeResizable。当元素旋转时它也可以正常工作。玩得开心......