我一直在组建一个基于早期Windows用户界面的小型个人网站。完全欣赏它不是最用户友好的设计,但它主要是为了好玩。
无论如何,一切都按预期工作(除了IE11的一些奇怪之处,我稍后会解决)。
...然而
我正在使用JQuery UI Draggable来允许人们拖动窗口。这通常工作正常,但我发现在拖动窗口后,它不再服从它的zindex值。
因此,例如,如果你打开一个zindex为1的窗口然后稍微拖动它,那么从那时起它将始终出现在任何其他元素的顶部,即使该新元素具有更高的zindex。当然,拖动一个新元素会把它带到前面,但是下次你会遇到同样的问题。
例如,如果您加载页面,请单击应用程序,然后单击skifree。 skifree窗口将加载到顶部。但是,如果您单击应用程序,稍微移动窗口,然后单击skifree,窗口将在下面加载。
理想情况下,我只是想找到一种方法来确保任何新窗口自动被推到前面。
我已将链接附加到实际网站,但我用于拖动的代码是:
$(".window").draggable({
handle: ".window-bar",
containment: ".desktop",
scroll: false,
snap: ".desktop",
snapMode: "inner",
stack: ".window"
});

新窗口只是通过显示现有但隐藏的div来创建:
$("a[data-window]").click(function(){
const windowToOpen = $(this).data("window")
$("input#start-menu").prop( "checked", false );
$("#" + windowToOpen).show();
})

我不是专业的开发者,如果我错过了一些明显的东西,那就很抱歉。另外请忽略一些粗略的编码 - 有些东西仍然需要改进。