1. 弹框不在遮罩层中,出现遮罩层和弹框两个区域移动时会造成body滚动(遮罩层位于弹框和body中间层)
1.1设置遮罩区域引起的body滚动
$(".pop_bg").on('touchmove',function(e){ e.preventDefault(); //阻止默认行为 })
1.2 设置弹框区域不会引起body滚动
$('.betteryBtn').click(function(){ //当点击betteryBtn时显示遮罩层和弹框 $('.pop_bg').show(); $('.pop_bettery').show(); // 阻止body跟着遮罩层移动 var isShow=$('.pop_bg').css('display') //获取弹框状态,若为true则给body设置overflow:hidden。body便不会出现滚动 console.log(isShow) if(isShow === 'block'){ console.log('sdf') $('body').css({'overflow':'hidden'}) } });