2012-03-27 102 views

回答

2

問題是,當你指定座標時,它們是絕對位置。

有可能是一個更好的辦法,但家長的你總是可以得到補償和這些偏移添加到您的遏制座標:

$(function() { 

    var ox = $("#container img").parent().offset().left; 
    var oy = $("#container img").parent().offset().top; 

    $("img").draggable({ 
     containment: [-99+ox, -119+oy, ox, oy], 
     scroll: false 
    }); 

}); 

演示:http://jsfiddle.net/DqdRK/

+0

非常感謝親愛的! – anosim 2012-03-27 17:51:54

+0

你如何計算-99和-119? – nmsdvid 2013-03-27 09:39:41

+1

@nmsdvid:圖片寬度爲400x300,div爲300x180,相差100x120。然後我減去邊界寬度的一個像素。從技術角度來說,爲了說明邊界,還應該加上其他參數:'遏制:[-99 + ox,-119 + oy,ox + 1,oy + 1]' – 2013-03-27 16:30:09

0

你的問題是,你」在第二個小提琴中重新制作img標籤。我假設您希望用戶能夠在綠色區域中拖動圖像。嘗試將draggable應用於div。 (小提琴:http://jsfiddle.net/ZXu2w/1/

+0

我找到了我的解決方案:http://jsfiddle.net/DqdRK/ – anosim 2012-03-27 17:54:58

+0

看來我誤解了你的最終目標。很高興你找到了解決方案。 – Jlange 2012-03-27 17:57:16