猿问

如何找出文档中最高的z索引?

为了将包含透明文本图像的div设置为文档中的最高z索引,我选择了10,000,它解决了我的问题。

以前我猜过数字3,但没有效果。

因此,是否有更科学的方法来确定哪个z索引比您所有其他元素的z索引高?

我尝试在Firebug中寻找此指标,但找不到。


凤凰求蛊
浏览 457回答 3
3回答

桃花长相依

您可以findHighestZIndex像这样调用特定的元素类型,例如“ DIV”:findHighestZIndex('div');假设findHighestZindex函数定义如下:function findHighestZIndex(elem){&nbsp; var elems = document.getElementsByTagName(elem);&nbsp; var highest = 0;&nbsp; for (var i = 0; i < elems.length; i++)&nbsp; {&nbsp; &nbsp; var zindex=document.defaultView.getComputedStyle(elems[i],null).getPropertyValue("z-index");&nbsp; &nbsp; if ((zindex > highest) && (zindex != 'auto'))&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; highest = zindex;&nbsp; &nbsp; }&nbsp; }&nbsp; return highest;}

30秒到达战场

为了清楚起见,从abcoder站点窃取了一些代码:&nbsp; var maxZ = Math.max.apply(null,&nbsp;&nbsp; &nbsp; $.map($('body *'), function(e,n) {&nbsp; &nbsp; &nbsp; if ($(e).css('position') != 'static')&nbsp; &nbsp; &nbsp; &nbsp; return parseInt($(e).css('z-index')) || 1;&nbsp; }));

子衿沉夜

使用ES6更清洁的方法function maxZIndex() {&nbsp; &nbsp; &nbsp;return Array.from(document.querySelectorAll('body *'))&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.map(a => parseFloat(window.getComputedStyle(a).zIndex))&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.filter(a => !isNaN(a))&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.sort()&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.pop();}
随时随地看视频慕课网APP
我要回答