可调整大小的可拖动图像位置:调整大小时的绝对值

时间:2013-07-28 20:15:34

标签: jquery-ui

我在这个jsfiddle中有一个图像 - http://jsfiddle.net/stevea/5S5NW/4/ - 我已经调整了大小,然后我通过将draggable()应用到可以调整大小的ui-wrapper来使其可拖动:

$(function(){       
    $('img#pelican').resizable({aspectRatio : true});
    $('img#pelican').closest('.ui-wrapper').draggable();
});

首次应用resizable()和draggable()之后,ui-wrapper有一个位置:相对样式,就像你可以看到Firebug一样。当你拖动图像时,这仍然存在。但是一旦你开始调整图像大小,ui-wrapper样式就会变为position:absolute。为什么会这样?

如果我将位置强制回到按钮的相对位置,只要我再次调整大小,它就会回到绝对位置。如果我省略了draggable()行,那么图像只是可调整大小,它可以正常工作,即在调整大小后保持位置:相对。

有谁知道这里发生了什么?如何创建一个可调整大小,可拖动的图像,保持位置:相对?

由于

1 个答案:

答案 0 :(得分:0)

我更新了小提琴:http://jsfiddle.net/5S5NW/5/

您可以在此文档中找到resize事件:http://api.jqueryui.com/resizable/#event-resize

我做的很简单。调整大小时我将css属性位置相对添加:

resize: function(){
  $(this).css('position', 'relative');
}

请记住,这是jquery将其位置设置为绝对的原因。如果一切正在按预期进行,请检查浏览器和必要的功能。