当前位置:网站首页>Find the highest value of the current element Z-index of the page
Find the highest value of the current element Z-index of the page
2022-07-02 06:22:00 【Can't be lacking, can't be excessive】
z-index Property to set the stacking order of elements . Elements with a higher stacking order are always in front of elements with a lower stacking order .
z-index Need and position Property can only take effect when used together .
Use a background
Why do I need to find the current element of the page z-index The highest value ?
When we use some shell components , Hope it appears at the top of the page , Cover the rest of the page , Do such interaction .
Which components need to find the highest of the current page z-index?
For example, the common tooltip dialog popup alert And so on .
I set a large number assigned to z-index No way? ?
scene 1: A page or a project may be developed by more than one person at the same time , You can set a big number to z-index Where you need to . When your colleagues develop , If he finds that his development content is covered by your development content , Just set a larger number to z-index.
scene 2: One dialog Continue to pop up a dialog, So you have to set it twice dialog Of z-index,
In the long term , It will bring a lot of inconvenience to the front-end development .
There are two solutions
- The front-end team forms a unified specification , Different components set different z-index Range , Different businesses use fixed components .
- Automatically get the current z-index The highest value , Then add one to it .
If it's the first way , How to form norms , There will be no further discussion here .
obtain z-index The highest value
- Put all of the entire page dom Get , And turn it into an array .
document.all It's actually a pseudo array , Need to use Array.from Change my
const allElement = Array.from(document.all);
- Use window.getComputedStyle() Method to get the name of the element z-index attribute , If you don't get it, just go straight to 0
Why use getComputedStyle?
getComputedStyle Not only can you get css Written z-index, You can also get the style in the line
const zIndexArray = []
allElement.forEach((item) => {
zIndexArray.push(Number(window.getComputedStyle(item, null).getPropertyValue("z-index"))
})
- In some way ( such as max Or sort ) find z-index Maximum value .
const maxZIndex = Math.max(...zIndexArray)
- Will be the biggest z-index Add 1 return .
return maxZIndex + 1
The combined code is
function getMaxZIndex() {
const allElement = Array.from(document.all);
const zIndexArray = []
allElement.forEach((item) => {
zIndexArray.push(Number(window.getComputedStyle(item, null).getPropertyValue("z-index")) || 0)
})
const maxZIndex = Math.max(...zIndexArray)
return maxZIndex + 1
}

Someone on the current test website will z-index Set up a 1000000
Optimize it properly , We will all be 0 Of z-index Get rid of
function getMaxZIndex() {
const allElement = Array.from(document.all);
const zIndexArray = []
allElement.forEach((item) => {
const itemZIndex = Number(window.getComputedStyle(item, null).getPropertyValue("z-index"))
if(itemZIndex) {
zIndexArray.push(itemZIndex)
}
})
let maxZIndex = 0
if(zIndexArray.length) {
maxZIndex = Math.max(...zIndexArray)
}
return maxZIndex + 1
}
边栏推荐
- 线性dp(拆分篇)
- Use some common functions of hbuilderx
- 495. Timo attack
- Ros2 --- lifecycle node summary
- Current situation analysis of Devops and noops
- 稀疏数组(非线性结构)
- LeetCode 83. 删除排序链表中的重复元素
- LeetCode 90. Subset II
- Contest3147 - game 38 of 2021 Freshmen's personal training match_ G: Flower bed
- Invalid operation: Load into table ‘sources_ orderdata‘ failed. Check ‘stl_ load_ errors‘ system table
猜你喜欢
随机推荐
LeetCode 27. Removing Elements
介绍两款代码自动生成器,帮助提升工作效率
Data science [viii]: SVD (I)
Sumo tutorial Hello World
日志(常用的日志框架)
LeetCode 83. 删除排序链表中的重复元素
Redis---1. Data structure characteristics and operation
Arduino Wire 库使用
Detailed steps of JS foreground parsing of complex JSON data "case: I"
【每日一题】—华为机试01
阿里云MFA绑定Chrome浏览器
【张三学C语言之】—深入理解数据存储
Deep learning classification network -- Network in network
The real definition of open source software
LeetCode 77. combination
找到页面当前元素z-index最高的数值
LeetCode 39. 组合总和
Contest3147 - game 38 of 2021 Freshmen's personal training match_ F: Polyhedral dice
穀歌出海創業加速器報名倒計時 3 天,創業人闖關指南提前收藏!
Invalid operation: Load into table ‘sources_ orderdata‘ failed. Check ‘stl_ load_ errors‘ system table








