彈出層,阻止頁面滾動--阻止事件冒泡


今天要實現一個效果:點擊圖片后彈出一個浮層,該浮層內容比較多,設置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,實現頁面的出現和消息。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM