javascript - 将 jQuery UI 可放置元素还原为原始 div

标签 javascript jquery html css jquery-ui

有没有办法创建一个重置按钮,将所有可放置/可拖动元素返回到它们的原始位置?

我正在使用以下 javascript,它是根据此处的先前答案修改的。

$(window).load(function(){var counter = 0;
      $(".draggable").draggable({ cursor: "move", revert: "invalid"});
      $(".drop").droppable({ accept: ".draggable", 

       drop: function(event, ui) {

                console.log("drop");
               $(this).removeClass("border").removeClass("over");
         var dropped = ui.draggable;
        var droppedOn = $(this);
        $(dropped).detach().css({top: 0,left: 0}).appendTo(droppedOn);      
       counter ++;
       if (counter > 0 ) {
           $(".hidden").removeClass().addClass("visible");
           }


            }, 
      over: function(event, elem) {
              $(this).addClass("over");
               console.log("over");
      }
            ,
              out: function(event, elem) {
                $(this).removeClass("over");
                 counter --;
              }
                 });


$(".start").droppable({ accept: ".draggable", drop: function(event, ui) {
                console.log("drop");
               $(this).removeClass("border").removeClass("over");
         var dropped = ui.draggable;
        var droppedOn = $(this);
        $(dropped).detach().css({top: 0,left: 0}).appendTo(droppedOn);      
         counter --;
        if (counter < 1 ) {
           $(".visible").removeClass().addClass("hidden");
           }
            }});



})(jQuery);

这是我的 HTML

<div class="row">
<div class="large-8 columns">
<div class="start">
        <img src="http://placehold.it/140x100" id="one" title="one" class="draggable ui-widget-content" />
        <img src="http://placehold.it/150x100" id="two" title="two" class="draggable ui-widget-content" />
</div>
</div>

<div class="large-4 columns">
<div class="drop">

</div>
<div class="large-1 columns">
<input type="submit" value="generate report" class="hidden" />

<input type="reset" value="reset" class="reset" />
</div>
</div>
</div>

最佳答案

在等待答案的同时继续挖掘,设法想出了这个!

$(".reset").click(function() {
    $(".draggable").appendTo(".start");
});

关于javascript - 将 jQuery UI 可放置元素还原为原始 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18298418/

相关文章:

javascript - 整洁:避免移动脚本标签

javascript - 如何将数组获取到另一个函数,以便将其显示到另一个 div 中

html - 导航栏。文本与水平线内联并位于水平线之上?

jquery - 按 Enter 按钮时 IE 中的事件更改不起作用

jquery - 函数 scrollTo(id) 中的 jquery 偏移问题

html - Shopify 图像 slider - 始终扩展到用户全屏

html - 使内部 div 为外部的 100%

javascript - HTML 输入 - 删除前导字符

javascript - 视差滚动和浏览器滚动距离。

javascript - 如何用 jQuery 1.8.3 的实现替换 jQuery 1.9.1 的 $.parseJSON 函数