今天要實現一個效果:點擊圖片后彈出一個浮層,該浮層內容比較多,設置overflow:auto;希望浮層滾動的時候,底層的頁面是不動的。在網上查了很多,都沒有找到解決方案,有人在問,但是並沒有人回答。所以特地跑去問了師傅,在這里分享一下,希望遇到同樣問題的小白,可以有所幫助。
首先,把底層頁面放在一個div中,包起來,設置它的css樣式:
1 #main{ 2 position: fixed; 3 width: 100%; 4 top:0; 5 height:100%; 6 z-index:1; 7 overflow: auto; 8 }
(其中,z-index的值根據自身情況設定。)
然后,把要彈出的浮層也放在一個div中,並為其設置css樣式:
1 #Tan{ 2 position: fixed; 3 width: 100%; 4 top:0; 5 display:none; 6 height:100%; 7 z-index: 2999; 8 overflow: auto; 9 }
(同樣,z-index值根據自身情況設定)
最后,就是js代碼部分:
1 document.getElementById(floatLayer).addEventListener('DOMMouseScroll',function(event){ 2 3 event.stopPropagation(); 4 5 },false);
給彈出層添加一個滾輪事件 DOMMouseScroll
剩下的就是用javascript設置頁面的display,實現頁面的出現和消息。