【问题标题】:Rearranging tiles重新排列瓷砖
【发布时间】:2012-05-24 18:44:36
【问题描述】:

我有两组图块,如下图所示。每个图块都是一个 DIV。

我希望能够将磁贴拖动到组中的新位置或相邻组中的新位置。

和windows 8类似,我也希望能够将一个组中的一个磁贴拖到两个组之间的空间,为磁贴创建一个新组。

这是我能够做到的程度 - 我能够创建一个可拖动排序的单个组。

<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/

感谢任何帮助。感谢您的宝贵时间。

【问题讨论】:

    标签: javascript jquery html css jquery-ui-sortable


    【解决方案1】:

    我过去做过类似的事情,这就是我实现它的方式: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/

    【讨论】:

    • 谢谢达伦。您知道如何通过将新组拖动到两个磁贴组之间的空间来创建新组吗?
    • 你必须有一个新的 ul 标签。 (共 3 个)。左列表,居中 ul,右 ul,然后从我的代码中调用 $("#newul").sortable() 或 $("#sortable, #sortable2 #sortable3").sortable( ...... /跨度>
    • 嗨,达伦,你能帮我解决这个问题吗? stackoverflow.com/questions/10745140/…
    【解决方案2】:

    小提琴:http://jsfiddle.net/iambriansreed/A8NYw/

    $(function() {
        $("#sortable1,#sortable2")
            .sortable({ connectWith: ".sortable"})
            .disableSelection();
    });​
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-28
      • 2015-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多