移动端下弹框禁止背景滑动的实现方法介绍(附代码)

本篇文章给大家带来的内容是关于移动端下弹框禁止背景滑动的实现方法介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

茴字写法有很多种,找到最适合的才是好的。

以下下方法在一屛之内是可行的

body;html 设置overflow:hidden

.overflow-hidden{    height: 100%;    overflow: hidden;}// 弹出时$('html, body,.page').addClass('overflow-hidden');// 隐藏时$('html, body,.page').removeClass('overflow-hidden');

问题

当body内容超出一屛时,弹框背景页面会自动滚动到顶部,无法回到原来弹框所在的位置

保存scrollTop,再设置scrollTo

var top = $(window).scrollTop();// 弹出时$("body .page").css({    "position": "fixed",    "top": -top,    "left": 0,        "right": 0,        "bottom": 0}),// 隐藏式$("body .page").css({    "position": "static"});$("html").css({    "scroll-behavior": "unset"});$(window).scrollTop(top),$("html").css({    "scroll-behavior": "smooth"});

问题

当body内容超出一屛时,弹框背景页面会自动滚动到顶部,无法回到原来弹框所在的位置

页面发生了 top 和页面滚动;页面会有闪烁的情况

绑定touchmove事件,然后调用preventDefault()

function preventDefaultFn(event){    event.preventDefault();}// 弹出时 遮罩层$('.modal-overlay').on('touchmove', preventDefaultFn);// 隐藏时 遮罩层$('.modal-overlay').off('touchmove', preventDefaultFn);

问题

弹框中还有滚动的内容,滚动内容也无法滚动

解决

给弹框内需滚动的元素添加标记,在判断是否执行event.preventDefault();

给main元素添加position:absolute(推荐)

.page {     /* main绝对定位,进行内部滚动 */    position: absolute;    top: 0;    bottom: 0;    right:0;    left:0;    /* 使之可以滚动 */    overflow-y: scroll;    /* 增加该属性,可以增加弹性 */    -webkit-overflow-scrolling: touch;}.overflow-hidden{    overflow: hidden;}// 弹出时$('.page').addClass('overflow-hidden');// 隐藏时$('.page').removeClass('overflow-hidden');

优点

没有上述这些问题

随带解决了ios fixed 的相关bug

缺点

需要改页面结构

css代码微多

以上就是移动端下弹框禁止背景滑动的实现方法介绍(附代码)的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1612858.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 03:15:56
下一篇 2025年12月24日 03:16:03

相关推荐

  • css中clip属性的应用方法(附代码)

    本篇文章给大家带来的内容是关于css中clip属性的应用方法(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 先看效果 clip 属性剪裁绝对定位元素。 当一幅图像的尺寸大于包含它的元素时会发生什么呢?”clip” 属性允许您规定一个元素的可见尺寸,…

    好文分享 2025年12月24日
    000
  • css中display属性和border属性常遇问题讲解

    本篇文章给大家带来的内容是关于css中display属性和border属性常遇问题讲解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 因为HTML很少有太复杂的问题,所以直接写一篇关于CSS的常见问题及解答啦~ display: none;和visibility:hidden;的区…

    2025年12月24日 好文分享
    000
  • css中浮动的常见用法以及清除浮动的介绍(代码示例)

    本篇文章给大家带来的内容是关于css中浮动的常见用法以及清除浮动的介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 浮动是CSS中一个相对比较麻烦的属性,与之伴随的通常是清除浮动。今天我们一起来搞定浮动。 常见的用法 事实上,当我们将一个元素设置成浮动时,达到的效果如…

    2025年12月24日 好文分享
    000
  • css实现文本超出滚动显示时隐藏滚动条的两种方法(代码示例)

    如何实现文本超出部分滚动显示,并隐藏滚动条?本篇文章就给大家介绍css实现文本超出后滚动显示效果,并且滚动条隐藏的两种方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 首先css要实现文本超出后滚动显示,我们就会使用到css overflow 属性,相信大家对于css over…

    2025年12月24日
    000
  • css实现简单背景模糊的方法(代码示例)

    本篇文章给大家带来的内容是介绍css实现简单背景模糊的方法(代码示例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 使用filter属性来设置模糊值 效果: css样式: .cover { width: 600px; height: 300px; position: relat…

    2025年12月24日
    000
  • CSS中BFC(块级格式化上下文)的作用介绍

    本篇文章给大家带来的内容是关于css中bfc(块级格式化上下文)的作用介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 定义 BFC全称为block formatting context,意为块级格式化上下文,是Web页面中盒模型布局的css渲染模式。 可能上面的解释看了有点懵逼…

    2025年12月24日 好文分享
    000
  • css如何添加文字下划线样式?(代码详解)

    css如何添加文字下划线样式?本篇文章就给大家介绍css添加文字下划线样式的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 首先我们来了解一下css添加文字下划线样式的方法有哪些。 1、css text-decoration属性添加文字下划线样式 2、css border-b…

    2025年12月24日
    000
  • 实例详解html+css实现静态分页效果(附代码)

    大家在浏览网站时有没有注意到网页上的分页效果,正在学习html和css的小伙伴,你会写静态html分页代码吗?这篇文章就结合实例给大家介绍html分页效果的制作步骤,最后将html分页代码分享给大家,供大家参考,感兴趣的小伙伴可以看看哦。 实现分页效果需要用到很多CSS中的属性,比如float浮动,…

    2025年12月24日
    000
  • CSS如何设置滚动条样式?CSS设置滚动条样式方法

    现在很多项目中都用到了滚动条,而且在有的时候,用到的是模拟滚动条,很多大型邮箱都是利用css样式来设置的,那么css如何设置滚动条样式?css如何设置滚动条样式方法有哪些? 一、webkit下面的CSS设置滚动条 上面是滚动条的主要几个设置属性,还有更详尽的CSS属性 :horizontal:水平方…

    2025年12月24日
    000
  • css中伪类和伪元素有什么区别?:before和::before的区别

    本篇文章给大家带来的内容是介绍css中伪类和伪元素有什么区别?:before和::before的区别。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 伪类用于选择DOM树之外的信息,或是不能用简单选择器进行表示的信息。前者包含那些匹配指定状态的元素,比如:visited,:acti…

    好文分享 2025年12月24日
    000
  • css如何设置虚线边框?css设置虚线边框的方法示例

    在网页布局中,有时候为了整体网页的美观可能需要设置虚线边框,那么虚线边框怎么设置呢?本篇文章就来给大家介绍一下如何使用css来设置虚线边框。 首先我们应该知道css的border为边框属性,可以实现对象边框的效果,像是设置边框宽度、边框颜色、边框样式(实线还是虚线)等。 下面我们就来具体看看css的…

    2025年12月24日 好文分享
    000
  • 将导航栏固定在页面顶部的方法(图文详解)

    大家在浏览网站时有没有发现,几乎每个网站都有导航栏,而且有些导航可以固定在顶部不动,不管滚动条移动到哪里,都会固定在一个位置,你知道顶部固定导航栏怎么写吗?这篇文章就给大家讲讲如何使导航栏固定在顶部,以及导航栏固定在顶部的代码,有一定的参考价值,感兴趣的朋友可以看看。 实现将导航栏固定在顶部需要用到…

    2025年12月24日
    000
  • CSS如何实现三列布局?实现三列布局的3种方法(代码示例)

    本篇文章给大家带来的内容是介绍css如何实现三列布局?实现三列布局的3种方法(代码示例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 三列布局指的是两边两列定宽,中间的宽度自适应。 常用三种方法: 定位 浮动 立即学习“前端免费学习笔记(深入)”; 弹性盒布局 定位方式 最直观…

    2025年12月24日
    000
  • CSS如何实现文字两端对齐?实现文字两端对齐的方法

    本篇文章给大家带来的内容是介绍css如何实现文字两端对齐?实现文字两端对齐的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 最近的项目遇到了这样的需求:(要求标题部分不管文字多少,都必须两端对齐) 如下图: 当时也没有多想直接使用‘ ’进行代替,毕竟产品同学想快一点看到效果,…

    2025年12月24日
    000
  • 浅谈对CSS盒模型的认识?CSS盒模型的介绍

    本篇文章给大家带来的内容是浅谈对css盒模型的认识?css盒模型的介绍。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 任何一个网页的搭建都离不开盒模型的堆砌。应该说css模型是web的一个根基,最后呈现出来的效果不同无非就是在高宽、内容与背景删的区别而已。 那么CSS模型有什么认…

    2025年12月24日
    000
  • css如何实现中间文字,两边横线的标题效果?(代码示例)

    本篇文章给大家带来的内容是介绍css如何实现中间文字,两边横线的标题效果?(代码示例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 1. vertical-align属性实现效果: vertical-align 属性设置元素的垂直对齐方式。 该属性定义行内元素的基线相对于该元素…

    2025年12月24日
    000
  • 如何区分css中的:not()选择器和jQuery中的.not()方法?(代码示例)

    本篇文章给大家带来的内容是介绍如何区分css中的:not()选择器和jquery中的.not()方法?(代码示例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 因为老是将这两个的not方法弄混,所以写一下备忘。 css中:not()选择器用法 :not 伪类选择器可以筛选不符合…

    好文分享 2025年12月24日
    000
  • 图文详解如何用html和CSS制作爱心特效

    css在页面布局中起到非常重要的作用,css不仅可以美化html搭建的页面,还可以制作出各种炫酷的效果,作为一个前端人员,你会用css画爱心吗?这篇文章就给大家分享如何用html和css绘制心形,以及css3实现爱心特效的代码,有一定的参考价值,感兴趣的朋友可以看看。 用html和CSS画爱心需要用…

    2025年12月24日
    000
  • css怎么设置倾斜的字体样式?(代码详解)

    css怎么设置倾斜的字体样式?本篇文章就给大家介绍用css设置倾斜字体样式的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 首先我们要知道在css中设置对象内字体倾斜常常是使用css font-style属性来实现的,font-style 属性可以定义字体的风格。 下面我们通…

    2025年12月24日
    000
  • 如何使用纯CSS实现一块乐高积木(附源码)

    本篇文章给大家带来的内容是关于php在web服务器上的运行模式详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 定义 dom,容器中包含一…

    2025年12月24日
    000

发表回复

登录后才能评论
关注微信