gpt4 book ai didi

jquery - 使用 jQuery.live 获取最高 Z-Index 值以确保考虑所有元素

转载 作者:太空宇宙 更新时间:2023-11-03 22:03:46 25 4
gpt4 key购买 nike

冒着被告知这是一个重复问题的风险,我试图找出如何获得页面上所有 div 的最高 z-Index 值,包括那些由 jQuery 创建的 div。

情况是,我有一个 toolTip div,它位于页面顶部,由 jQuery 基于触发元素填充 onMouseover 或 onClick。

我有一个隐藏的 div,调用元素的 onClick 显示在灯箱样式窗口中,jQuery 为其指定了 z-Index。我需要能够从此 div 中的元素触发我的 onMouseover 工具提示,但它目前显示在它后面。

显然我可以手动完成,但为了将来使用,我认为计算方法会更好......

谷歌搜索像往常一样把我带到这篇文章 How can you figure out the highest z-index in your document?

我从中找到的

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 * 1);
}

这适用于通过 CSS 明确设置 z-Indexes 的元素。

但是,不是由 jQuery 显示/填充的 div。

上面的函数忽略了这个模态窗口,大概是因为 z-Index 是通过编程创建的?

我在SO上也找到了这个功能

function getMaxZIndex() {
var zIndexMax = 0;
$('div').each(function () {
if ($(this).css('z-index') > zIndexMax) zIndexMax = $(this).css('z-index');
});
return (zIndexMax * 1);
}

但由于某种原因返回 'NAN'

我想我需要在这里的某个地方使用“实时”,但不确定如何去做。

再一次,如果有人认为这是一个重复的问题,我深表歉意,但我在这里找到的问题并没有完全回答这个问题。

最佳答案

.css('z-index') 返回 string

'100' > 0 //true
'auto' > '100' //true

因此 zIndexMax 很可能是 'auto''auto' * 1NaN

试试这个

function getMaxZIndex() {
var zIndexMax = 0;
$('div').each(function () {
var z = parseInt($(this).css('z-index'));
if (z > zIndexMax) zIndexMax = z;
});
return zIndexMax;
}

关于jquery - 使用 jQuery.live 获取最高 Z-Index 值以确保考虑所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8450382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com