私が解決しようとしている問題については、各行に固有のコンテンツを持つテーブルがあります。行はハンドルを介して並べ替えることができ、各行のコンテンツは常に均一な高さではありません。場合によっては、行内に大量のテキストや画像が表示されることがあります。
並べ替え可能な行を持つテーブルが複数ある場合もあるため、containment プロパティを使用して、他のゾーンへのドラッグや、目的の領域の外にドラッグしたときに発生するその他の問題を防止しています。
問題は、比較すると上下が「短い」場合に、「高い」行を注文の上部または下部にドラッグしようとしたときです。基本的に、背の高い行をこれらの位置にドラッグすることはできません。私は解決策を探しましたが、不足しています。どんな助けでも大歓迎です。
ここでの実例: http://jsfiddle.net/jeffvoigt/XyPzf/
中央の 2 つの行はどちらも、リストの一番上または一番下にドラッグできません。
HTML:
<div class="container">
<table id="sortable">
<tr class="odd">
<td><p>[=]</p></td>
<td>Single Line of Text</td>
</tr>
<tr class="even">
<td><p>[=]</p></td>
<td>Aenean porta, tellus quis auctor elementum, risus ante ornare augue, eu elementum nunc libero ut nisi. Pellentesque sed vestibulum tellus. Proin convallis enim eget felis iaculis viverra vestibulum lorem semper. Aliquam imperdiet viverra lorem, ut dignissim felis laoreet vel. Suspendisse fermentum neque eu est vestibulum bibendum. Maecenas dignissim egestas tempor. Ut tincidunt metus sed felis ornare nec sollicitudin risus gravida. Duis vitae mauris quis risus ultricies malesuada. Nulla facilisi. Phasellus fringilla, arcu eget congue sollicitudin, lorem elit ullamcorper ante, non fermentum orci mauris at tellus. Maecenas suscipit sodales molestie. Mauris luctus porta dui non volutpat.</td>
</tr>
<tr class="odd">
<td><p>[=]</p></td>
<td><img src="http://www.google.com/intl/en_ALL/images/logos/images_logo_lg.gif" /></td>
</tr>
<tr class="even">
<td><p>[=]</p></td>
<td>Single Line of Text</td>
</tr>
</table>
</div>
Javascript:
$( "#sortable tbody" ).sortable({
axis: "y",
containment: ".container",
cursor: "move",
handle: "p"
});