2011-11-18 33 views
0

這是我的第一篇文章在這裏,所以溫柔與我同在)管理已拖動旋轉的元素

我試圖讓使用MooTools的(還是1.2.5雖然簡單編輯。)。每個元素都有一個拖動角以使其可調整大小。

整個事情真的很棒,直到元素被旋轉。給它後-moz-變換:旋轉(Xdeg)財產的藥物以快瘋了(簡單的例子:http://jsfiddle.net/HTg57/1/

我知道爲什麼會這樣 - 儘管元件轉動的所有事件都作爲元素將是正常的位置。

問題是 - 有沒有可以處理這個問題的任何庫? 我認爲我自己知道如何解決這個問題,但這需要時間,我沒有。

所以 - 有沒有任何現成的解決方案,以便元素旋轉時能夠正常拖動工作?

回答

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的帶手柄和一個大小限制器。它在元素旋轉時也可以正常工作。玩得開心...

+0

「正常工作」 - 我的意思是,通常情況下(旋轉(0度)),當我拖動到元素的正確寬度改變。設置旋轉後(-45度)向右拖動意味着元素已經改變了寬度和高度。 我想要的是,元素旋轉後的右拖動仍然只改變其寬度。旋轉後很難做到這一點 – radmen

+0

所以添加一個修飾符:http://jsfiddle.net/dimitar/HTg57/3/ –

+0

嗯並非如此。看看這一個 - http://jsfiddle.net/j2ArR/你可以改變修飾符,但它的工作非常糟糕。 – radmen