我有一个带有几个可拖动和可调整大小的块的容器。因为我希望能够向用户显示哪个块处于“活动状态”,所以我将类active
添加到其中以添加边框。
现在的问题是当我拖动块并将其放入容器中时,div会越来越大。这当然不太实际。
当我从active
类中删除样式时,这不会发生,因此这与正在添加的边框有关。选择块时,将从所有块中删除此类。
请注意,必须为此项目设置width
和height
。
我创建了一个小小的演示并添加了一个显示问题的小提琴。 Fiddle
只需拖动其中一个块几次。有人可以向我解释为什么会发生这种情况以及如何解决它?
答案 0 :(得分:1)
请勿将Bootstrap
和width
设置为drop:
height
您也知道,如果您调整块的大小,则会遇到另一个问题,function setDimensions(obj) {
obj.css('position', 'absolute');
obj.css("left",parseInt(obj.css("left")) / ($container.width() / 100)+"%");
obj.css("top",parseInt(obj.css("top")) / ($container.height() / 100)+"%");
//obj.width((obj.width() / $container.width()) * 100 + '%');
//obj.height((obj.height() / $container.height()) * 100 + '%');
}
和width
也会发生变化。您可能希望使用height
的{{1}}函数保存块的初始width
和height
,然后将这些大小与{{中的结束大小进行比较1}}功能,仅更新resizable
或start()
。
(当然,除非调整大小是预期的行为)
答案 1 :(得分:1)
正如@Titus所述,问题是height
和width
在丢弃时错误地计算了它还添加了width
的{{1}}。
由于在这些元素上为此项目设置border
和width
非常重要,因此我使用了jQuerys height
和innerWidth()
函数来计算没有边框的元素的innerHeight()
和width
。
由于有边框,我还需要在计算中删除此数字。下面的代码解决了我的问题。
height