【问题标题】:jQuery sortable - set which divs are contained in their parent containerjQuery sortable - 设置哪些 div 包含在其父容器中
【发布时间】:2017-04-01 09:46:36
【问题描述】:

我正在使用 jQuery 的 sortable 函数来允许用户重新排列 div 的顺序。当用户单击按钮时,会出现一个弹出 div。

目前,由于containment: 'parent'这一行,“已经存在的div”和“弹出的div”无法移出它们的容器

我如何允许弹出的 div 被移出它的容器,而不是已经存在的 div?

$("#click").on("click", function() {
  $("#sortable1").show();
});

$('#sortable1, #sortable2').sortable({
  axis: 'y',
  connectWith: '.first',
  containment: 'parent'
});
.container {
  position: absolute;
  margin: 0 auto;
  left: 0;
  right: 0;
  top: 13%;
  width: 85%;
}

div.div {
  border: 1px solid;
  margin-top: 7.5px;
  margin-bottom: 7.5px;
}

.popup {
  width: 50%;
  left: 0;
  right: 0;
  top: 20%;
  margin: 0 auto;
  z-index: 1;
  position: absolute;
  background: #fff;
  border: 1px solid;
}
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<div id="sortable1" style="display: none;">
  <div class="popup">
    <h2>RED</h2>
    <p>When his peaceful life is threatened by a high-tech assassin, former black-ops agent Frank Moses reassembles his old team in a last ditch effort to survive and uncover his assailants.</p>
  </div>
</div>

<div class="container">

  <button id="click">Click me</button>
  <br>
  <br>

  <div id="sortable2" class="first">

    <div class="div">
      <h2>Deep Impact</h2>
      <p>Unless a comet can be destroyed before colliding with Earth, only those allowed into shelters will survive. Which people will survive?</p>
    </div>

    <div class="div">
      <h2>The Adjustment Bureau</h2>
      <p>The affair between a politician and a contemporary dancer is affected by mysterious forces keeping the lovers apart.</p>
    </div>

    <div class="div">
      <h2>Lord of the Flies</h2>
      <p>Stranded on an island, a group of schoolboys degenerate into savagery.</p>
    </div>
  </div>

</div>

JsFiddle:https://jsfiddle.net/o0exme4f/1/

【问题讨论】:

    标签: javascript jquery html jquery-ui jquery-ui-sortable


    【解决方案1】:

    这不会像您期望的那样工作。

    看这里:https://jsfiddle.net/o0exme4f/2/

    JavaScript

    $(function() {
      $("#click").on("click", function() {
        $("#sortable1").show();
      });
    
      $("#sortable2").sortable({
        axis: 'y',
        containment: 'parent',
        items: "> div",
        update: function(e, ui) {},
        receive: function(e, ui) {
          console.log("Receiving item: ", ui.item);
          ui.item.attr("style", "").removeClass("popup").addClass("div");
        }
      });
      $("#sortable1").sortable({
        connectWith: '.first'
      });
    });
    

    收到新商品后,它会更新为与其他商品一​​样。某些样式导致它无法与其他元素很好地融合。

    【讨论】:

    • 嗨,你还在吗
    • 我还存在,是的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-04
    • 1970-01-01
    相关资源
    最近更新 更多