2012-03-27 93 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