为了将包含透明文本图像的div设置为我文档中的最高z-index,我选择了数字10,000,它解决了我的问题.
以前我猜过3号但是没有效果.
那么,是否有更科学的方法来确定哪个z-index高于所有其他元素?
我试图在Firebug中寻找这个指标但却找不到它.
为了清楚起见,从代码站点窃取一些代码:
var maxZ = Math.max.apply(null, $.map($('body *'), function(e,n) { if ($(e).css('position') != 'static') return parseInt($(e).css('z-index')) || 1; }));
您可以调用findHighestZIndex
特定的元素类型,例如'DIV',如下所示:
findHighestZIndex('div');
假设一个findHighestZindex
定义如下的函数:
function findHighestZIndex(elem) { var elems = document.getElementsByTagName(elem); var highest = 0; for (var i = 0; i < elems.length; i++) { var zindex=document.defaultView.getComputedStyle(elems[i],null).getPropertyValue("z-index"); if ((zindex > highest) && (zindex != 'auto')) { highest = zindex; } } return highest; }
使用ES6更清洁的方法
function maxZIndex() { return Array.from(document.querySelectorAll('body *')) .map(a => parseFloat(window.getComputedStyle(a).zIndex)) .filter(a => !isNaN(a)) .sort() .pop(); }