【发布时间】:2017-08-29 22:23:09
【问题描述】:
我想对所有用户使用 jQuery 可排序功能来排列框。很简单。然而,这些盒子可能会变得非常高,所以当他们点击手柄进行排序时,我希望所有的盒子都折叠起来。我得到了一些工作(如下所示)。当您尝试对第一行进行排序时,一切正常。但是任何低于它的东西都会变得有点奇怪。
首先,有没有我没想到的更好的方法来做到这一点?
其次,如果我继续使用这段代码,有没有办法确保现在折叠的 div 是 select 捕捉到并留在鼠标上?如果你现在看,当你选择一个不是从第一行开始的 div 时,被选中的 div 比鼠标所在的位置高很多(因为折叠了)。
jsFiddle:http://jsfiddle.net/cwv9usqf/5/
$('.header').mousedown(function(){ $('.content').hide(); })
$('.container').sortable({
connectWith: '.container',
items: '.portlet',
handle: '.header',
tolerance: 'pointer',
stop: function(){ $('.content').show(); }
});
另一个注意事项:现在只要单击标题,portlet 就会崩溃。有没有办法只能在拖动发生时让它们崩溃?
提前致谢!
【问题讨论】:
-
我用一些东西更新了 Fiddle:portlet 并不总是重新打开,所以我在“停止”上添加了一个事件,以便可排序来解决这个问题。我还设置了容差,因此至少功能可以按预期工作。视觉上它仍然是错误的......
标签: javascript jquery jquery-ui draggable jquery-ui-sortable