延迟显示jquery可排序占位符

时间:2013-01-06 00:28:59

标签: jquery jquery-ui jquery-ui-sortable

我有一个使用jqueryUI sortable的可排序表,我有排序的sildeUp和down延迟,所以它看起来很流畅。

但是我也有一个用虚线边框设置样式的占位符元素,以便用户知道该元素的放置位置。

问题在于拖动一个元素,虚线占位符高度一直都是动画的,看起来真的很难看。

基本上我希望虚线元素不可见,直到有足够的空间,然后显示它。现在它从0高度到全高度动画。如果有足够的空间,它会出现在全高度会更好。

我怎能延迟它?我正在使用css()设置边框,但不知道如何告诉它等待。

这是我的代码

http://jsbin.com/ucopun/122/edit

$("#myTable tbody").sortable({
    helper: fixhelper,
    revert: 300,
    placeholder: 'ui-placeholder',
        'start': function (event, ui) {
          ui.placeholder.html('<td class="uisort" colspan="3"></td>').slideUp(200);
          ui.placeholder.children("td").css({'border': 'dashed 2px black'});
        },
        change: function (e,ui){
      $(ui.placeholder).hide().slideDown(200);
    }



  });
  $("#myTable tbody").on('sortstart',  function(event, ui) {
    $("td").css({'background-color': '#313131'});
 $(ui.item).children("td").css({'background-color': '#fff'});
  });
  $("#myTable tbody").on('mouseup',  function(event, ui) {
 $("td").css({'background-color': '#fff'});
  });

1 个答案:

答案 0 :(得分:1)

你需要减少动画时间,以免看起来“丑陋”。

尝试将你的slideUp和slideDown动画时间减少到'1'。

请告诉我这是否适合您。