jquery实现两个div中的元素相互拖动

小鱼儿 2022-02-03 15:13 384阅读 0赞

这里写了两个实例,两个都是基于jquery实现的。如果有更好的方法,欢迎分享。

第一个效果图:

拖动中:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMjA1MTE2_size_16_color_FFFFFF_t_70

拖动完成后:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMjA1MTE2_size_16_color_FFFFFF_t_70 1

代码实现:

  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title></title>
  6. <link rel="stylesheet" href="jquery-ui-1.11.4/jquery-ui.css">
  7. <script src="js/jquery.js"></script>
  8. <script src="jquery-ui-1.11.4/jquery-ui.js"></script>
  9. <script>
  10. function fun(){
  11. $(".aaa p").draggable({
  12. helper: "clone",
  13. });
  14. }
  15. $(function() {
  16. fun();
  17. $(".aaa").droppable({
  18. activeClass: "ui-state-default",
  19. drop: function(event, ui) {
  20. $("<p class='ui-draggable'></p>").text(ui.draggable.text()).appendTo(this);
  21. var item = ui.draggable;
  22. item.remove();
  23. fun();
  24. }
  25. })
  26. });
  27. </script>
  28. </head>
  29. <body>
  30. <div id="catalog">
  31. <div class="aaa" id="cart2" style="width: 400px; height: 400px; border: 1px solid red; float: left;">
  32. <p>123</p>
  33. <p>123</p>
  34. <p>123</p>
  35. </div>
  36. <div class="aaa" id="cart" style="width: 400px; height: 400px; border: 1px solid red; float: left;">
  37. <p>234</p>
  38. <p>234</p>
  39. <p>234</p>
  40. <p>234</p>
  41. </div>
  42. <div class="aaa" id="cart1" style="width: 400px; height: 400px; border: 1px solid red; float: left;">
  43. <p>345</p>
  44. <p>345</p>
  45. <p>345</p>
  46. <p>345</p>
  47. </div>
  48. </div>
  49. </body>
  50. </html>

第二个实例:

效果图:

初始状态

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMjA1MTE2_size_16_color_FFFFFF_t_70 2

拖动中:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMjA1MTE2_size_16_color_FFFFFF_t_70 3

拖动完成后

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMjA1MTE2_size_16_color_FFFFFF_t_70 4

代码实现:

  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title></title>
  6. <link rel="stylesheet" href="//apps.bdimg.com/libs/jqueryui/1.10.4/css/jquery-ui.min.css">
  7. <script src="//apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script>
  8. <script src="//apps.bdimg.com/libs/jqueryui/1.10.4/jquery-ui.min.js"></script>
  9. <style>
  10. #sortable {
  11. list-style-type: none;
  12. margin: 0;
  13. padding: 0;
  14. width: 60%;
  15. }
  16. #sortable li {
  17. margin: 0 3px 3px 3px;
  18. padding: 0.4em;
  19. padding-left: 1.5em;
  20. font-size: 1.4em;
  21. height: 18px;
  22. }
  23. #sortable li span {
  24. position: absolute;
  25. margin-left: -1.3em;
  26. }
  27. </style>
  28. <script>
  29. $(function() {
  30. $("#sortable").sortable();
  31. $("#sortable").disableSelection();
  32. });
  33. </script>
  34. </head>
  35. <body>
  36. <ul id="sortable">
  37. <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 1</li>
  38. <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 2</li>
  39. <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 3</li>
  40. <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 4</li>
  41. <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 5</li>
  42. <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 6</li>
  43. <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 7</li>
  44. </ul>
  45. </body>
  46. </html>

发表评论

表情:
评论列表 (有 0 条评论,384人围观)

还没有评论,来说两句吧...

相关阅读