【发布时间】:2018-02-26 10:38:26
【问题描述】:
我有一个网站,当点击某些链接时会弹出可拖动的 div。这一切都很好。
我还使用堆栈功能来确保当 div 被拖动时,它们被带到前面。这也很有效。
我遇到的问题是,当单击新链接时,如果之前拖动的 div 仍处于打开状态,则新 div 会在其后面打开 - 与 z-index 无关。如果之前的 div 没有被拖拽,新的窗口会在前面打开。
有没有快速解决办法?
我用于拖动的 JS 是:
$(".window").draggable({
handle: ".window-bar",
containment: ".desktop",
scroll: false,
snap: ".desktop",
snapMode: "inner",
stack: ".window"
});
我用来添加新窗口的代码是:
$("a[data-window]").click(function(){
const windowToOpen = $(this).data("window")
$("input#start-menu").prop( "checked", false );
$("#" + windowToOpen).show();
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
【问题讨论】:
-
请发布您的代码以使其清楚
-
我们需要查看更多代码来帮助您。特别是在拖动时移动 z-index 的部分,尽管最好使用完整的 MCVE。我的第一个想法是在活动元素上放置一个类,将 z-index 设置为高于其他元素。然后,您可以选择该类并在添加新元素时将其删除。
-
抱歉,已经添加了处理新窗口和拖动的基本代码元素。