当前位置:网站首页>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
}
边栏推荐
猜你喜欢

介绍两款代码自动生成器,帮助提升工作效率

链表(线性结构)

阿里云MFA绑定Chrome浏览器

锐捷EBGP 配置案例

Deep learning classification network -- alexnet

Don't use the new WP collection. Don't use WordPress collection without update

Detailed notes of ES6

Sentinel规则持久化到Nacos

New version of dedecms collection and release plug-in tutorial tool

Data playback partner rviz+plotjuggler
随机推荐
递归(迷宫问题、8皇后问题)
标签属性disabled selected checked等布尔类型赋值不生效?
Is there a really free applet?
Common means of modeling: combination
LeetCode 27. Removing Elements
Reading classic literature -- Suma++
Hydration failed because the initial UI does not match what was rendered on the server.问题原因之一
Use some common functions of hbuilderx
I/o multiplexing & event driven yyds dry inventory
Summary of WLAN related knowledge points
CUDA中的存储空间修饰符
sudo提权
Pbootcms collection and warehousing tutorial quick collection release
LeetCode 40. Combined sum II
利用NVIDIA GPU将Minecraft场景渲染成真实场景
Generic classes and parameterized classes of SystemVerilog
Use of Arduino wire Library
CUDA中的Warp Shuffle
Support new and old imperial CMS collection and warehousing tutorials
Current situation analysis of Devops and noops