Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 选择z索引最高的DIV_Javascript_Jquery_Html_Jquery Ui_Z Index - Fatal编程技术网

Javascript 选择z索引最高的DIV

Javascript 选择z索引最高的DIV,javascript,jquery,html,jquery-ui,z-index,Javascript,Jquery,Html,Jquery Ui,Z Index,示例代码,以便我开始解释此问题: <div style="z-index:5">5</div> <div style="z-index:2">2</div> <div style="z-index:1">1</div> <div style="z-index:4">4</div> <div style="z-index:3">3</div> 5 2. 1. 4. 3. (z

示例代码,以便我开始解释此问题:

<div style="z-index:5">5</div>
<div style="z-index:2">2</div>
<div style="z-index:1">1</div>
<div style="z-index:4">4</div>
<div style="z-index:3">3</div>
5
2.
1.
4.
3.
(z-索引值不重要,它们的顺序更不重要。只是示例代码)

问题:我想选择(使用CSS或jQuery的JS)z索引值最高的DIV。在上面的例子中,我想选择第一个,因为它的z-index 5比其他所有的z-index都高

有办法做到这一点吗? 额外信息:我正在使用jQuery+jQuery UI编写一个简单的窗口管理器,z索引由.draggable中的stack选项分配。
我似乎也找不到让jQuery将最后一个拖拽的元素分配给类的方法,所以我选择了z索引最高的方法。需要帮忙吗?谢谢。

您可以随时对
jQuery(.yourDivs”).css(“z-index”)进行测试
一旦您在所有div上添加了类。

在您的位置上,我只需在每个div上单击一次即可附加事件。我认为Javascript或jQuery将自动考虑zindex信息,您将在您单击的div上准确地获得事件。

我确信您可以使用stop事件来访问最近的div拖动的项目,即:

$('.selector').draggable({
   stop: function(event, ui) {
      $(event.target).addClass('justDragged');
   }
});
如果希望查看绑定到事件的所有函数/变量,可以使用以下命令:

var str = '';
for (i in event) {
    str += i + ', ';
}
alert(str);

这应该可以很好地指示您在任何数量的jQuery回调参数中可以使用什么。

我刚刚发现.draggable中有一个“开始拖动”事件。我真傻

$("#window-"+id+".staticwindow.stwin").draggable({ ... start: function(e, u){ $(".window").removeClass('active'); $(this).addClass('active'); } }); $(“#窗口-”+id+”.staticwindow.stwin”).draggable({ ... 启动:功能(e、u){ $(“.window”).removeClass('active'); $(this.addClass('active'); } }); 虽然我的这种方法与我最初的问题不再相关,但至少没有循环。我不会接受任何答案,因为这似乎需要一个循环。(尽管我有点倾向于接受zarko的答案,因为它让我思考事件)


谢谢大家的回答

你的意思是我必须循环遍历所有我想要比较z索引的元素,并存储最高的元素?因为我正在编写一个窗口管理器,每次执行拖动时调用它可能有点低效,并且当有很多div时,甚至更低效。是的,这将不是有效的,但是您应该考虑使用单独的数据结构来完成您正在尝试实现的(一个单独的堆栈,跟踪可能发生的事情)。. 使用zindex,我怀疑你会得到一个更好的方法,我应该刷新页面-显然,在这里总会有一个好的答案!(虽然我使用了start而不是stop,它模拟了“窗口化”行为)接受:)