Вам нужны только одноуровневые элементы, чтобы найти самый высокий z-индекс, поэтому начните с родительского элемента или тела.
И часто у вас есть какой-то элемент с действительно высоким z-индексом, который вы хотите всегда быть на вершине - если это так,
игнорируйте z индексы более миллиона или что-либо безопасно выше числа братьев и сестер.
Вы можете сделать это в одной функции, но синтаксис для поиска значений таблицы стилей удобен, чтобы иметь около.
function highZ(pa, limit){
limit= limit || Infinity;
pa= pa || document.body;
var who, tem, mx= 1, A= [], i= 0, L;
pa= pa.childNodes, L= pa.length;
while(i<L){
who= pa[i++]
if(who.nodeType== 1){
tem= parseInt(deepCss(who,"z-index")) || 0;
if(tem> mx && tem<=limit) mx= tem;
}
}
return mx;
}
function deepCss(who, css){
var sty, val, dv= document.defaultView || window;
if(who.nodeType== 1){
sty= css.replace(/\-([a-z])/g, function(a, b){
return b.toUpperCase();
});
val= who.style[sty];
if(!val){
if(who.currentStyle) val= who.currentStyle[sty];
else if(dv.getComputedStyle){
val= dv.getComputedStyle(who,"").getPropertyValue(css);
}
}
}
return val || "";
}
предупреждение (HIGHZ ())