jQuery UI可排序的可用性问题

时间:2016-03-21 20:36:27

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

我有一个很好的卡片堆栈,我希望卡片可以排序。为了堆叠卡片,他们有一个负的底部边缘,这会影响排序。

jsfiddle

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/jquery-ui.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui-touch-punch/0.2.3/jquery.ui.touch-punch.min.js"></script>

<ul>
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
  <li>Item 4</li>
  <li>Item 5</li>
  <li>Item 6</li>
  <li>Item 7</li>
  <li>Item 8</li>
</ul>

<style>
  ul {
    list-style-type: none;
    padding: 0;
  }
  li {
    width: 347px;
    height: 226px;
    box-sizing: border-box;
    padding: 3px 20px 10px 20px;
    margin-bottom: -120px;
    border: solid 1px #F00;
    background-color: #FFF;
    transform: skewX(-2deg);
   }
   li:not(:last-child) {
     margin-bottom: -191px;
  }
</style>

<script>
  $(function() {
    $("ul").sortable({});
  });
</script>

我已经尝试了几个小时,但无法解决问题。有没有人有想法,可能是以不同的方式堆叠卡片或使用可排序的事件来修复行为?

非常感谢

1 个答案:

答案 0 :(得分:1)

好吧,我明白了:https://jsfiddle.net/vLfumdwb/4/

li {
  width: 347px;
  height: 35px;
}
li div {
  width: 100%;
  height: 226px;
  ...
}

我无法用javascript改变任何东西,但是以不同的方式绘制卡片的技巧(卡片高度仅为35px,内部div高度为226px而不是高度为226px且底部边缘为-191px的卡片)。