需求
1、點選按鈕彈窗
2、頁面不可滾動
3、點選空白區域彈窗隱藏
直接上程式碼
<style>
//解決蘋果手機上的QQ瀏覽器UC瀏覽器都點選body、document、window無效
body{-webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-tap-highlight-color:transparent;cursor:pointer;}
.base_popup{position: fixed;width: 100%;}
</style>複製程式碼
//下面的程式碼是基於jQuery
var popScrollTop=0;
$('#protocolShowBtn').on('click',function(){
//顯示彈窗
protocolPopBox.show();
//獲取當前滾動條top值
popScrollTop=$(document).scrollTop();
//新增class
$("body").addClass('base_popup');
//設定class
$('body').css('top',-popScrollTop);
})
$(document).click(function () {
//移除class
$("body").removeClass('base_popup');
//設定彈窗前滾動條的top值
$(document).scrollTop(popScrollTop);
//隱藏彈窗
protocolPopBox.hide();
})複製程式碼
要點
1、利用固定定位fixed
2、在蘋果手機上的QQ瀏覽器UC瀏覽器都點選body、document、window無效。網上搜了一遍找到的解決方案:body{cursor: pointer;}
3、移動端點選空白區域會閃一下藍色,解決方案點選色值改成透明:body{-webkit-tap-highlight-color: rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;}