如果这是你原来的代码:
$('.responsive_click').on('click',function(){
$('.cover').fadeIn('slow');
$('.container').css('position','fixed');
});
$('.close-sign').on('click',function(){
$('.cover').fadeOut('slow');
$('.container').css('position','relative');
});
我改变“.container”到‘身体’和‘位置是:固定/相对’溢出-Y:隐藏/滚动”为在这里看到:
$('.responsive_click').on('click',function(){
$('.cover').fadeIn('slow');
$('body').css('overflow-y','hidden');
});
$('.close-sign').on('click',function(){
$('.cover').fadeOut('slow');
$('body').css('overflow-y','scroll');
});
这会停止背景跳回到顶部和背景滚动而蓝色覆盖层覆盖层已关闭。
编辑:对于移动,试图将window.ontouchmove = preventDefault;
像这样:
$('.responsive_click').on('click',function(){
$('.cover').fadeIn('slow');
$('body').css('overflow-y','hidden');
window.ontouchmove = preventDefault;
});
,只是改变 '的preventDefault' 到 '空' 关闭对话框时。
那固定的跳转问题上的手机和PC,但在移动现在它仍然是滚动而不是位置:固定在盖上来。 –
您可以尝试使用我添加到我的答案中的移动编辑。 –
我用你的方式更新了jquery,但当退出按钮被点击时,我需要撤消preventDefault()和stopPropagation()的帮助,这样网站才会恢复正常。 http://jsbin.com/saditujuli/edit?html,css,js,output –