首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用css将div从一个父目录移到另一个父目录

使用css将div从一个父目录移到另一个父目录
EN

Stack Overflow用户
提问于 2017-04-14 05:18:15
回答 1查看 453关注 0票数 2

我想把一个div从source-parent1移到target-parent2。

唯一的问题是我可以在parent2上控制div的偏移量。

我找到了这段代码,并尝试修改-添加了10px的偏移量。

  1. 我不明白为什么它会失败。
  2. 我似乎不明白为什么这一行如此重要,它能做什么?

代码语言:javascript
复制
//  $("body").prepend($("#block-2").detach());

var velocity = 1500;

$("button").on("click", function(){
    var pos = $("#parent-block").offset();
    $("body").prepend($("#block-2").detach());
    var move = $("#block-2").css({
        "position": "absolute",
        "z-index": "9999",
        "top": pos.top,
        "left": pos.left
    });
    var block1 = $("#block-1").offset();
    move.animate({
        "top": block1.top + 10,
        "left": block1.left + 10
    }, velocity, function(){
        move.css({"top":"10","left":"10"});
        $("#block-1").prepend(move.detach());
    });
});
代码语言:javascript
复制
#block-1 {
    position: absolute;
    border: 1px solid #f00;
    width: 150px;
    height: 150px;
    right: 0;
    top: 0;
}
#parent-block {
position: absolute;
border: 1px solid #00f;
width: 150px;
height: 150px;
left: 0;
bottom: 0;
}
#block-2 {
position: absolute;
z-index: 9999;
background-color: #0f0;
width: 50px;
height: 50px;
}
button {
position: absolute;
top: 50px;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="block-1"></div>

<div id="parent-block">
    <div id="block-2"></div>
    <button>Move block</button>
</div>

http://jsfiddle.net/shantiS2007/taug59wy/?utm_source=website&utm_medium=embed&utm_campaign=taug59wy

EN

回答 1

Stack Overflow用户

发布于 2017-04-14 05:27:53

你必须小心css position

试试这个,它起作用了!

代码语言:javascript
复制
var velocity = 1500;

$("button").on("click", function() {
  var pos = $("#parent-block").offset();
  var block2 = $("#block-2").detach();
  $("body").prepend(block2);
  var move = $("#block-2").css({
    "position": "absolute",
    "z-index": "9999",
    "top": pos.top,
    "left": pos.left
  });
  var velocity = "velocity";
  var block1 = $("#block-1").offset();
  move.animate({
    "top": block1.top + 10,
    "left": block1.left + 10
  }, velocity, function() {
    move.css({
      "top": "10",
      "left": "10"
    });
    $("#block-1").prepend(move.detach());
  });
});
代码语言:javascript
复制
#block-1 {
  position: absolute;
  border: 1px solid #f00;
  width: 150px;
  height: 150px;
}

#block-2 {
  position: absolute;
  border: 1px solid #f11;
  width: 150px;
  height: 150px;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>Move block</button>
<div id="block-1">
  <p>Block1</p>
</div>

<div id="parent-block">
  <div id="block-2">
    <p>Block2</p>
  </div>
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43401869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档