简体   繁体   English

当所有列表项的宽度不相等时,jQueryUI排序问题

[英]jQueryUI Sorting issue when width of all list items is not equal

I have an issue while sorting the list items when width if all the <li> is not equal. 如果所有<li>不相等,则在宽度排序列表项时遇到问题。 In the example below I try to place "Item 6" just after "Item 4" to no avail. 在下面的示例中,我尝试在“第4项”之后放置“第6项”无效。

 $('#sort').sortable({ }); 
 ul { margin: 0; padding: 0; } li { display: inline-block; margin: 5px; padding: 5px; background: #0f0; width: 25%; } .ui-sortable-placeholder { height: 0 !important; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <ul id="sort"> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> <li>Item 4</li> <li style="width:100%;">Item 5</li> <li>Item 6</li> <li>Item 7</li> <li>Item 8</li> </ul> 

Actually you still can put Item 6 after Item 4 (eg. put Item 6 before Item 4 first then move it after Item 4). 实际上你仍然可以在第4项之后放置第6项(例如,在第4项之前放置第6项,然后在第4项之后移动第6项)。 It's just a bit difficult. 这有点困难。 Adding grid option makes it easier. 添加网格选项使其更容易。 Try to run this snippet: 尝试运行此代码段:

 $('#sort').sortable({ grid: [ 10, 10 ] }); 
 ul { margin: 0; padding: 0; } li { display: inline-block; margin: 5px; padding: 5px; background: #0f0; width: 25%; } .ui-sortable-placeholder { height: 0 !important; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://code.jquery.com/ui/1.12.0/jquery-ui.min.js"></script> <ul id="sort"> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> <li>Item 4</li> <li style="width:100%;">Item 5</li> <li>Item 6</li> <li>Item 7</li> <li>Item 8</li> </ul> 

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

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