拖动和调整 div 与另一个 div 重叠

Posted

技术标签:

【中文标题】拖动和调整 div 与另一个 div 重叠【英文标题】:Drag & Resize div overlapped other div 【发布时间】:2012-12-18 21:07:18 【问题描述】:

我是堆栈溢出的新手。我需要你的帮助。 我从网上获得了 jquery resize 小部件并尝试实现我的源代码。它只有一个小部件可以正常工作。如果我将相同的调整大小功能放在同一页面中的多个小部件上,则在小部件调整大小时它会重叠。还有一个信息,当我调整最后一个小部件的大小时,它不会影响(重叠)到其他小部件。

我的代码 CSS

<style>
.widget1

    width:150px; min-height:120px; border:1px solid green;

.widget2

    width:150px; min-height:120px; border:1px solid blue;

.widget3

    width:150px; min-height:120px; border:1px solid black;

</style>

使用过的Js

<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<script>
    $(function() 
        $(".drag_resize").draggable().resizable();
    );
</script>

html

<div class="widget1 drag_resize">
 Dummy contents 1
</div>
<div class="widget2 drag_resize">
 Dummy contents 2
</div>
<div class="widget3 drag_resize">
 Dummy contents 3
</div>

【问题讨论】:

【参考方案1】:

您好,欢迎来到 ***! 您遇到了可拖动容器的 z-index 问题。在 *** 上查看有关相同问题的此解决方案:Setting z-index on draggable elements

尤其是“点击”功能 - 在您的情况下,这应该可以解决问题(未经测试):

$('.drag_resize').click(function() 
        $(this).addClass('top').removeClass('bottom');
        $(this).siblings().removeClass('top').addClass('bottom');
        $(this).css("z-index", a++);
    );

CSS:

.top z-index: 2; position: relative
.bottom z-index: 1; position: relative

您可以修改您的解决方案并使用 jquery 可拖动自己的事件处理程序(拖动)而不是“点击”处理程序: http://jqueryui.com/draggable/#events

干杯

-------------编辑:-------------

更清洁、更简单的解决方案: Setting z-index on draggable elements

看看这个工作示例: http://jsfiddle.net/RhF7t/

【讨论】:

您好 Simplyray,感谢您的帮助。不幸的是,它不符合我的要求。实际上,我在“调整” div 元素时遇到了这个问题。例如,我有 3 个具有调整大小功能的 div。当我调整第一个 div 的大小时,第二个 div(下一个调整大小的功能 div)自动移动到顶部。所以我想限制这种变化,这意味着当我调整一个 div 的大小时,下一个 div 应该看起来是同一个地方并且它不会受到影响。 您好,如果您调整 div 的大小,它们会相互影响:每次调整大小都会影响渲染。看看***.com/questions/6037464/… 的解决方案。

以上是关于拖动和调整 div 与另一个 div 重叠的主要内容,如果未能解决你的问题,请参考以下文章

如何让两个div重叠?

仅在窗口调整大小时防止 div 重叠(带样式组件)

如何调整包含绘图的 div 以绘制尺寸,使其不与文档重叠

如何使一个 div 中的三个表在调整大小时不重叠?

阻止 div 在导航栏上重叠

课堂随笔