2

下の図に示すように、タイルの 2 つのグループがあります。各タイルは DIV です。

ここに画像の説明を入力

グループ内の新しい位置、または隣接するグループ内の新しい位置にタイルをドラッグできるようにしたいと考えています。

また、Windows 8 と同様に、グループ内のタイルを 2 つのグループの間のスペースにドラッグして、タイルの新しいグループを作成できるようにしたいと考えています。

ここに画像の説明を入力

これが私がどこまで到達できたかです - ドラッグソート可能な単一のグループを作成することができました.

<div class="demo">
    <ul id="sortable">
        <li class="ui-state-default">1</li>
        <li class="ui-state-default">2</li>
        <li class="ui-state-default wide">3</li>
        <li class="ui-state-default">4</li>
        <li class="ui-state-default">5</li>
    </ul>
</div>

http://jsfiddle.net/psivadasan/FmWCx/

どんな助けにも感謝します。御時間ありがとうございます。

4

2 に答える 2

3

私は過去に似たようなことをしました。これが私がそれを達成した方法です: http://jsfiddle.net/dazefs/vGYVX/

<div style="background-color:Gray">

<ul id="sortable">
    <li>
      <span style="background-color:yellow">
         Item 1
       </span>

     </li>
    <li>
     <span style="background-color:red">
       Item 2
     </span>

    </li>
    <li>
      <span style="background-color:green">
     Item 3
     </span>

  </li>
    <li>
    <span style="background-color:Blue">
           Item 4
     </span>
     </li>
   </ul>

<ul id="sortable2" style="width:60%">
<li>
    <span style="background-color:yellow">
        Item 5
    </span>
</li>
    <li>
    <span style="background-color:red">
        Item 6
    </span>
</li>
    <li>
    <span style="background-color:green">
        Item 7
    </span>
   </li>
    <li>
       <span style="background-color:Blue">
          Item 8
       </span>
   </li>
</ul>

 </div>

$(function () {
    $("#sortable, #sortable2").sortable({
        connectWith: "#sortable2, #sortable",
        receive: function (event, ui) {
             alert('item has been sorted');
         }
    });

    //})
});

3 つのタイル グループで達成するには:

http://jsfiddle.net/dazefs/XRdz6/

于 2012-05-24T18:47:33.363 に答える
2

フィドル: http://jsfiddle.net/iambriansreed/A8NYw/

$(function() {
    $("#sortable1,#sortable2")
        .sortable({ connectWith: ".sortable"})
        .disableSelection();
});​
于 2012-05-24T18:56:56.403 に答える