透明なテキスト画像を含むdivをドキュメントの最高のz-indexとして設定するために、10,000という数字を選択し、問題を解決しました。
以前は3番で推測していましたが、効果はありませんでした。
それで、他のすべての要素のz-indexよりも高いz-indexを理解するためのより科学的な方法はありますか?
Firebugでこのメトリックを探してみましたが、見つかりませんでした。
透明なテキスト画像を含むdivをドキュメントの最高のz-indexとして設定するために、10,000という数字を選択し、問題を解決しました。
以前は3番で推測していましたが、効果はありませんでした。
それで、他のすべての要素のz-indexよりも高いz-indexを理解するためのより科学的な方法はありますか?
Firebugでこのメトリックを探してみましたが、見つかりませんでした。
わかりやすくするために、abcoder サイトからいくつかのコードを盗みます。
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 = Number.MIN_SAFE_INTEGER || -(Math.pow(2, 53) - 1);
for (var i = 0; i < elems.length; i++)
{
var zindex = Number.parseInt(
document.defaultView.getComputedStyle(elems[i], null).getPropertyValue("z-index"),
10
);
if (zindex > highest)
{
highest = zindex;
}
}
return highest;
}
デフォルトのプロパティなどはありませんが、JavaScriptを記述して、すべての要素をループし、それを把握することができます。または、jQueryのようなDOM管理ライブラリを使用する場合は、そのメソッドを拡張して(または、すでにサポートされているかどうかを確認して)、ページの読み込みから要素のzインデックスの追跡を開始し、最高のz-を取得するのは簡単になります。索引。
この問題を解決する最善の方法は、私の意見では、z-index
さまざまな種類の要素にどの種類のesが使用されるかについての規則を設定することです。z-index
次に、ドキュメントを振り返ることで、使用する正しいものを見つけることができます。
あなたが観察しているのはブードゥーだと思います。もちろん、完全なスタイル シートにアクセスできなければ、確実に判断することはできません。しかし、ここで実際に起こったことは、配置された要素のみが の影響を受けることを忘れている可能性が高いと思いますz-index
。
さらに、z-index
es は自動的に割り当てられず、スタイル シートでのみ割り当てられます。つまり、他のz-index
ed 要素z-index:1;
がなければ、他のすべての上に配置されます。
私はあなたがこれを自分でしなければならないと思います...
function findHighestZIndex()
{
var divs = document.getElementsByTagName('div');
var highest = 0;
for (var i = 0; i < divs .length; i++)
{
var zindex = divs[i].style.zIndex;
if (zindex > highest) {
highest = zindex;
}
}
return highest;
}
jQuery の使用:
要素が指定されていない場合は、すべての要素がチェックされます。
function maxZIndex(elems)
{
var maxIndex = 0;
elems = typeof elems !== 'undefined' ? elems : $("*");
$(elems).each(function(){
maxIndex = (parseInt(maxIndex) < parseInt($(this).css('z-index'))) ? parseInt($(this).css('z-index')) : maxIndex;
});
return maxIndex;
}