リストをソートするための多くのソリューションがあります。たとえば、ネスト可能、ソート可能、tableDTD、tableSorterなど、幅広い機能を備えていますが、優れたコードです。
私のソリューションはjQueryを使用しており、コンパクトなコード(コメントなしの52行、1.8 kb)があり、垂直軸に沿って親コンテナー内で要素を相対的に配置する必要があります。
思考の流れ全体がJavaScriptでコメント化されています。
jsFiddleの実際の動作 (コメントなしのコード)。
HTMLマークアップ<!DOCTYPE html> <html><head> <meta charset='utf-8'> <link type='text/css' rel='stylesheet' href='style.css'> <script type='text/javascript' src='http://code.jquery.com/jquery-2.0.3.min.js'></script> <script type='text/javascript' src='actions.js'></script> </head><body> <div id="container"> <div class="drag">1</div> <div class="drag">2</div> <div class="drag">3</div> <div class="drag">4</div> <div class="drag">5</div> </div> </body></html>
style.css #container {position:absolute; width:500px; top:100px;} .drag {position:relative; cursor:default; z-index:1;}
actions.js $(document).ready(function(){ $.fn.draggable = function(){
コード(こことjsFiddleで)は、発見された欠陥の修正の結果として更新されます。これはコメントで通知します。
未解決の問題:親コンテナーの境界を超えて要素をすばやくドラッグしながら要素をジャークします。