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

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

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

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

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代码微多

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

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

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3120790.html

(0)
上一篇 2025年3月29日 17:25:26
下一篇 2025年3月8日 21:06:42

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 移动端的flex三栏布局的相关知识介绍(代码示例)

    本篇文章给大家带来的内容是关于移动端的flex三栏布局的相关知识介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 默认情况下先显示移动端,通过 @media 属性适配屏幕变化 使用flexbox相关的CSS属…

    编程技术 2025年3月29日
    100
  • CSS代码格式化的不同的表现方式介绍

    本文将重点介绍css格式的不同方式,这与组织css的方式不同,仅仅是相关的概念,我认为组织更多地与事物分组和排序有关,而格式化与间距和缩进有关。 格式化与CSS的功能无关。这些仅仅是程序员的自己选择,但这并不是说格式化对于css来说不重要,…

    编程技术 2025年3月29日
    100
  • CSS如何让iframe实现自适应高度的效果

    如今越来越多的人使用手机浏览网页,因此网站的响应能力越来越重要。在手机上测试网站时,尝试了很多次才弄清楚为什么我的视频没有达到我的预期,直到发现了一个很棒的css技巧,可以让iframe实现自适应高度。接下来就和大家分享iframe动态实现…

    编程技术 2025年3月29日
    100
  • html如何添加css样式?行内式、内嵌式、外联式的优缺点

    html如何添加css样式?本篇文章就给大家介绍html添加css样式的三种方法:行内式、内嵌式、外联式的优缺点。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 首先我们要了解一下在html中添加css样式的三种方法是什么…

    编程技术 2025年3月29日
    100
  • 通过CSS定位操作的动态元素大小

    这篇文章给大家介绍的是关于通过css定位操作的动态元素大小的内容,有感兴趣的朋友可以看一看,话不多说,我们直接看来看具体的内容。 不使用宽度和高度或JS给体积提供元素的小技巧。 这是一个很简单的技巧,但是很多人不知道。(推荐教程:CSS视频…

    编程技术 2025年3月29日
    100
  • css实现文本两端对齐的代码实例讲解

    本篇文章给大家带来的内容是关于css实现文本两端对齐的代码实例讲解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 在做表单时我们经常遇到让上下两个字段对齐的情况,比如姓名, 手机号码, 出生地。这样我们就要用到 text-…

    编程技术 2025年3月29日
    100
  • :not()是什么?:not()的简单使用

    本篇文章给大家介绍:not()是什么?:not()的简单使用,让大家了解:not()是如何使用的。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 :not()是CSS的一个否定伪类选择器。它是一个函数式伪类选择器,它可以将…

    编程技术 2025年3月29日
    100
  • css文字颜色渐变的三种实现方式(附代码)

    本篇文章给大家带来的内容是关于css文字颜色渐变的三种实现方式(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 在web前端开发过程中,UI设计师经常会设计一些带渐变文字的设计图,在以前我们只能用png的图片来代替…

    编程技术 2025年3月29日
    100
  • CSS中文字相关属性的介绍

    本篇文章给大家带来的内容是关于css中文字相关属性的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 文本大小 {font-size:12px/14px/16px} 说明:   1)属性值为数值型时,必须给属性值加单位,…

    编程技术 2025年3月29日
    100
  • CSS中font-style定义字体倾斜体样式的代码示例

    本篇文章给大家带来的内容是关于css中font-style定义字体倾斜体样式的代码示例,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、常用斜体语法 常用字体样式设置font-style: italic 兼容各大浏览器 …

    编程技术 2025年3月29日
    100

发表回复

登录后才能评论