imweb面试题:遮罩层任意元素,默认透明度0.2
我先抛砖引玉:
1 function mask(dom, o) { 2 let opacity = o || 0.2 3 dom.style.display = 'inline' 4 dom.style.position = 'relative' 5 let mask = document.createElement('div') 6 mask.style.position = 'absolute' 7 mask.style.left = 0 8 mask.style.top = 0 9 mask.style.backgroundColor = '(255,255,255)' 10 mask.style.opacity = opacity 11 mask.style.width = '100%' 12 mask.style.height = '100%' 13 mask.zIndex = 5 14 dom.appendChild(mask) 15 }
方法调用:
1 let test1 = document.getElementById('test1') 2 let test2 = document.getElementById('test2') 3 let test3 = document.getElementById('test3') 4 mask(test1, 0.5) 5 mask(test2) 6 mask(test3, 0.8)
方法缺点:
更改dom结构,暂时还没想到解决方案
浙公网安备 33010602011771号