就是这样的效果:拖拽之前
之后:
上代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title> html5 drag and drop</title> <style> *[draggable=true] { -moz-user-select:none; -khtml-user-drag: element; cursor: move; } *:-khtml-drag { background-color: rgba(238,238,238, 0.5); } a { text-decoration: none; color: #000; width:120px; border: 3px dashed #999; padding: 10px; display:inline-block; transition: all 1s; position:absolute ; top:10px; } .container { position:relative; } a.move { -webkit-transform:scale3d( 1.1, 1.1, 1.1 ); } a:hover:after { content: ' (drag me)'; color: green } </style> </head> <body> <div class="container"> <a draggable="true" id="a1" style='left:0px;'>one</a> <a draggable="true" id="a2" style='left:160px;'>two</a> <a draggable="true" id="a3" style='left:320px;'>three</a> <a draggable="true" id="a4" style='left:480px;'>four</a> <a draggable="true" id="a5" style='left:640px;'>five</a> </div> <script src="http://code.jquery.com/jquery-2.0.0.js"></script> <script> var origin, is_moving = false; $(".container").find("a").on("drop", function(e) { var origin_pos = $(origin).position(); var target_pos = $(e.target).position(); $(origin).addClass("move").animate(target_pos, "fast", function() { console.log(this); $(this).removeClass("move"); }); $(e.target).addClass("move").animate(origin_pos, "fast", function() { $(this).removeClass("move"); }); }).on("dragstart", function(e) { if (is_moving) { return false; } is_moving = true; e.originalEvent.dataTransfer.effectAllowed = 'move'; origin = this; }).on("dragover", function(e) { if (e.preventDefault) e.preventDefault(); // is_moving = false; e.originalEvent.dataTransfer.dropEffect = 'move'; // }); </script> </body> </html>
每日一句:I always knew looking back on the tears would make me laugh, but I never knew looking back on the laughs would make me cry.
翻译:我知道再回首时,那些眼泪想来可笑;却不知再回眸时,那些欢声笑语也能叫我潸然泪下。