繁体   English   中英

jQuery UI可排序还原:还原到左上方

[英]jQuery UI sortable revert: Reverting to the top left

如果您使用以下示例: http : //jsfiddle.net/99yVq/2/并将顶部的portlet之一拖放到黑色区域的顶部(代表菜单),它将恢复为左上角,然后再捕捉到位置。 我以为这与我的动画方法(显示和隐藏不可见的占位符)有关,就像我按预期删除.show和.hide还原函数一样。

.sortable呼叫:

$( ".content" ).sortable({
    handle: '.portlet-header',
    items: '>:not(.fixed)',
    revert: true,
    start: function(e, ui){
                    $(ui.placeholder).hide(300);
                },
                change: function(e,ui) {
                    $(ui.placeholder).show(300);
                }
  });
    $( ".content" ).disableSelection();

有人知道原因吗?

提前致谢。

编辑如果将它们拖到右侧或固定的portlet上,它们也会这样做。 还剥离了测试用例。

更新答案

考虑到下面的答案,我已经使用.animate更新了小提琴并设置了宽度,而不是隐藏了占位符。 动画不那么坚固,但足够好!

您要排序的项目将附加到占位符(如果已设置)。 当您隐藏占位符时,没有显示样式,该项目将附加到主体。 如果要保留占位符但要“隐藏”它,请考虑以这种方式设置样式-将其保留为块元素。

start: function (e, ui) {
  $(ui.placeholder).css('width', 0);
},
change: function (e, ui) {
  $(ui.placeholder).css('width', auto);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM