蒙层禁止页面滚动的方案 弹窗是一种常见的交互方式,而蒙层是弹窗必不可少的元素,用于隔断页面与弹窗区块,暂时阻断页面的交互。...但是在蒙层出现的时候滚动页面,如果不加处理,蒙层底部的页面会开始滚动,实际上我们是不希望他进行滚动的,因此需要阻止这种行为。...当弹出蒙层时禁止蒙层下的页面滚动,也可以称为滚动穿透的问题,文中介绍了一些常用的解决方案。...charset="utf-8"> 蒙层禁止页面滚动的方案...charset="utf-8"> 蒙层禁止页面滚动的方案
在小程序弹窗时,外部页面禁止滚动, 可以在最外部容器设置catchtouchmove 但是如果弹窗内部也需要滚动,需要用scroll-view包裹,并设置scroll-y catchtouchmove
在web开发中,有时候我们需要实现在页面上点击某个按钮弹出窗口,并禁用页面滑动或滚动的需求。以下是我本人的做法,望大家多多提出意见或建议。 直接上代码: 移动端弹框禁止背景滑动 111</...$('#shade').css('display','block'); $('#tankuang').css('display','block'); }); /*关闭弹框
需求 编写一个简单的页面弹框的示例,功能要求如下: 一个点击按钮,点击可以弹出一个弹框 弹框固定出现在页面的中间位置 需要写一个背景mask,用于遮掩背景,设置透明度0.3 点击弹框外的位置,弹框就可以消失不见...,可以使用fadeOut() 点击弹框内的文本框可以输入内容,弹框不会消失不见 点击弹框右上角的 × 号,则关闭弹框 看完了需求,首先快速写好一波html + css 编写基本html + css ?...好了,这里已经实现了点击显示的操作了,那么下一步要编写点击弹框的其他部分,则弹框隐藏。 编写点击弹框外部,则隐藏 ?...但是,此时点击弹框内也是会让弹框消失的,那如果我要填写弹框的input框来写内容,还没写就消失了,这该怎么办呢?...最后,编写弹框右上角的× 号,点击则隐藏弹框 因为现在点击弹框都不会隐藏,所以可以单独给#close写一个click()方法,设置触发fadeOut()事件。 ?
1、单纯的关闭 window.opener.location.reload(); //刷新父窗口中的网页 window.close();//关闭当前窗窗口 2、...
jQuery遮罩很容易实现,遮罩弹出后最好是要禁止页面滚动。 下面就写一个简单的遮罩,和禁止页面滚动的实例。...(document).width()); $("#mask").show(); } //隐藏遮罩层 function hideMask(){ $("#mask").hide(); } 禁止滚动...: #禁止浏览器滚动条滚动: $('body').css({ "overflow":"hidden" }); #还原滚动: $('body').css({ "overflow":...height: 100%; } jQuery: $(".btn").click(function(){ $('html,body').addClass('ovfHiden'); //使网页不可滚动...){ $('html,body').removeClass('ovfHiden'); //使网页恢复可滚 }) 声明:本文由w3h5原创,转载请注明出处:《jQuery遮罩(Mask)及弹窗时禁止页面滚动实现
我们可以使用, catchtouchmove="ture" 属性,来禁止滑动。 注意,该属性只支持在真机上测试,模拟器上效果可能无法展示。...只需要在禁止滑动的标签上添加一个 catchtouchmove="ture" 属性即可,代码如下: <view wx:if="{{payOpen}}" class='paySelect' catchtouchmove
前言: 项目有个需求是:跳转路由,在离开页面前,需要弹框询问用户是否确定离开。 用react-router的组件是可以的,但是,怎么使用antd组件(或者说自定义组件)呢?...medium.com/@michaelchan_13570/using-react-router-v4-prompt-with-custom-modal-component-ca839f5faf39) (4)在离开页面...,路由跳转时,自定义弹框拦截,并询问 handlePrompt = location => { if (!...> 保存 完美实现离开页面...,路由拦截的同时,显示自定义模态框!
(e){ e.returnValue=("确定离开当前页面吗?")...该事件可用于弹出对话框,提示用户是继续浏览页面还是离开当前页面。对话框默认的提示信息根据不同的浏览器有所不同,标准的信息类似 “确定要离开此页吗?”。该信息不能删除。...但你可以自定义一些消息提示与标准信息一起显示在对话框。注意: 在 Firefox 浏览器中,只显示默认提醒信息(不显示自定义信息)。...触发于: 关闭浏览器窗口 通过地址栏或收藏夹前往其他页面的时候 点击返回,前进,刷新,主页其中一个的时候 点击 一个前往其他页面的url连接的时候 调用以下任意一个事件的时候:click,document...当用window open打开一个页面,并把本页的window的名字传给要打开的页面的时候。 重新赋予location.href的值的时候。
不显示滚动条(css) ::-webkit-scrollbar { width: 0px; } 禁止页面滚动条(js) document.body.parentNode.style.overflowY...= "hidden"; $("body").parent().css("overflow-y","hidden"); 启用浏览器滚动条(js) document.body.parentNode.style.overflowY
二、body无滚动 + 弹层内部滚动[css-弹框超出滚动|真机有bug] 适用场景需满足以下条件: 1、body最好是一屏、无滚动 2、虽然body内容超出一屏需滚动,但触发弹层出现的按钮在第一屏中...关键代码: JS控制弹窗的交互、body的禁止滚动 ? css添加弹层的超出滚动效果 ? 局限问题: 弹层中内容滚动到顶部或底部后,还会连带页面body一起滚动。也就是还会发生穿透效果。...1、(需满足)弹层内容不需要滚动 解决方案: 当弹层出现的时候不需要再禁掉body的滚动效果了,我们可以从弹层方面入手,阻止弹框的touchmove事件的默认行为。...也就是禁止整个弹窗的touchmove的默认事件,以阻止滚动穿透。 同样,如果弹层中需要滚动效果,则不能解决了。...2、获取页面的滚动距离: ? 3、弹层出现/消失的主流程 ?
微信浏览器和QQ浏览器有个自带的特殊功能,就是长按会出现上图所示的弹框。有时候前端页面中有长按事件时,总是会触发这个弹框而影响我们自己开发的功能。那么该如何屏蔽这个弹框呢? ...很简单,这个弹框实际上等同于PC环境下的鼠标右键的弹框,因此只要禁止页面的弹框事件就能完美屏蔽该弹框对我们功能带来的影响。...也许右键弹框在PC端很重要,但是对于移动端而言,这个弹框显然可有可无,因此在需要时,放心的使用上面的代码把它屏蔽掉就行。...(); },false); 上面这段代码会阻止页面滚动事件、a标签默认跳转事件等不该屏蔽的事件。...还有当长按事件下有图片时,长按会弹出发送给朋友,保存到手机,收藏的弹框,解决办法是在图片上层盖一个透明层,让长按事件点击不到图片,即可阻止。
620px以内,可以避免在小屏幕下滚动一点点才能看全整个弹框的尴尬情况。...假设弹框本身有滚动条,页面因为超出一屏又有一个全局滚动条,那整个滚动体验就会变得很差。...弹框特性: – 较页面轻,可以更快回到之前的页面 – 相对独立,可以完全不影响页面的布局 – 适合解决简单,一次性的操作 以下列出了一些较适合使用弹框的场景及案例: 1.新手引导 第一感觉是非常重要的。...腾讯企点的提示弹框整理 几个容易被忽视的弹框细节 1.背景锁定与滚动条引起的抖动问题 浏览网页时经常会发现弹框出现后,滚动鼠标时,蒙版下面的页面还是可以滚动的,其实这些滚动都是没必要的,因为弹框的原意就是要聚焦用户的注意力...此时,由于页面滚动条从有到无,页面会晃动,这样糟糕的体验显然是不能容忍了,于是,对元素进行处理,右侧增加一个滚动条宽度(假设宽度是widthScrollbar)的透明边框。
620px以内,可以避免在小屏幕下滚动一点点才能看全整个弹框的尴尬情况。...假设弹框本身有滚动条,页面因为超出一屏又有一个全局滚动条,那整个滚动体验就会变得很差。...弹框特性: – 较页面轻,可以更快回到之前的页面 – 相对独立,可以完全不影响页面的布局 – 适合解决简单,一次性的操作 以下列出了一些较适合使用弹框的场景及案例: 1.新手引导 第一感觉是非常重要的...腾讯企点的提示弹框整理 几个容易被忽视的弹框细节 1.背景锁定与滚动条引起的抖动问题 浏览网页时经常会发现弹框出现后,滚动鼠标时,蒙版下面的页面还是可以滚动的,其实这些滚动都是没必要的,因为弹框的原意就是要聚焦用户的注意力...此时,由于页面滚动条从有到无,页面会晃动,这样糟糕的体验显然是不能容忍了,于是,对元素进行处理,右侧增加一个滚动条宽度(假设宽度是widthScrollbar)的透明边框。
一、 背景锁定与滚动条引起的抖动问题 浏览网页时经常会发现弹框出现后,滚动鼠标时,蒙版下面的页面还是可以滚动的,其实这些滚动都是没必要的,因为弹框的原意就是要聚焦用户的注意力。...因此我们要做的是 – 背景锁定(从技术角度其实是暂时性干掉滚动条)。...技术原理:当Dialog弹框出现的时候,根元素overflow:hidden. problem:此时,由于页面滚动条从有到无,页面会晃动,这样糟糕的体验显然是不能容忍了,于是,对元素进行处理...,右侧增加一个滚动条宽度(假设宽度是widthScrollbar)的透明边框。...二、避免弹框上再弹出弹框 要尽量避免在弹框上再弹一层弹框,2层蒙版会让用户觉得负担很重。可以改用轻量弹框或重新把交互梳理。
无法滚动的弹出层 基本上,是个像样的web2.0网站都会有弹框web组件,一个黑色半透明的overlay层,上面摇曳着弹框面板,例如这样的: 对于黑色半透明覆盖层,传统实现是这样的:如果要兼容IE6浏览器...但是,麻烦的事情是,如果弹框自身高度很高,却又没法滚动呢(浏览器可用高度700像素,弹框有900像素高)?...传统布局下的弹框,如果高度很高,直接设置弹框容器position:absolute就可以愉快地上下翻滚了。但是,在内滚动布局下,弹框根本就不在滚动容器里面,翻滚一说从何谈起? 大危机!怎么办!?...合体与滚动 合体是什么意思呢?基本上,90%+的弹框组件,半透明覆盖层overlay和弹框dialog是两个并列的兄弟关系的独立的元素,这种设计的好处在于overlay组件可以复用。...实际上,我们要实现一个弹框效果,只要一层div标签就可以了,核心就是使用兼容的RGBA背景色技巧,然后弹框HTML放在里面: .container { position: absolute; top
无法滚动的弹出层 基本上,是个像样的web2.0网站都会有弹框web组件,一个黑色半透明的overlay层,上面摇曳着弹框面板,例如这样的: ?...但是,麻烦的事情是,如果弹框自身高度很高,却又没法滚动呢(浏览器可用高度700像素,弹框有900像素高)?...传统布局下的弹框,如果高度很高,直接设置弹框容器position:absolute就可以愉快地上下翻滚了。但是,在内滚动布局下,弹框根本就不在滚动容器里面,翻滚一说从何谈起? 大危机!怎么办!? ?...合体与滚动 合体是什么意思呢?基本上,90%+的弹框组件,半透明覆盖层overlay和弹框dialog是两个并列的兄弟关系的独立的元素,这种设计的好处在于overlay组件可以复用。...实际上,我们要实现一个弹框效果,只要一层div标签就可以了,核心就是使用兼容的RGBA背景色技巧,然后弹框HTML放在里面: .container { position: absolute; top
实际上,内滚动布局还会带来带有质变性质的一些特性。 无法滚动的弹出层 基本上,是个像样的web2.0网站都会有弹框web组件,一个黑色半透明的overlay层,上面摇曳着弹框面板,例如这样的: ?...但是,麻烦的事情是,如果弹框自身高度很高,却又没法滚动呢(浏览器可用高度700像素,弹框有900像素高)?...传统布局下的弹框,如果高度很高,直接设置弹框容器position:absolute就可以愉快地上下翻滚了。但是,在内滚动布局下,弹框根本就不在滚动容器里面,翻滚一说从何谈起? 大危机!怎么办!? ?...合体与滚动 合体是什么意思呢?基本上,90%+的弹框组件,半透明覆盖层overlay和弹框dialog是两个并列的兄弟关系的独立的元素,这种设计的好处在于overlay组件可以复用。...实际上,我们要实现一个弹框效果,只要一层div标签就可以了,核心就是使用兼容的RGBA背景色技巧,然后弹框HTML放在里面: .container { position: absolute; top
主按钮之后的下一步操作 弹框级别-关闭弹框刷新数据。 页面级别-这里我认为有待探讨,大家可以根据实际情况判别是否需要回到列表页。 表单的交互 就地编辑、弹窗、抽屉、页面跳转以及新开页面。...弹框和页面如何选择 当承载的东西较多,适合分步骤或者大表单时建议新开一个页面,当表单数量不多时,可以用弹框。...私货 删除二次确认 弹框:需要说明删除信息和影响的情况。 弹框:批量选择,且弹框中不再有其他操作。 就地确认:不需要过多说明,可简单二次确认。...弹框loading:确定按钮点击后需有loading。 表格loading:用表格自带的loading属性。 滚动条 表格宽度过长- 滚动条最好出现在表格中,不是在页面级别。...弹框过长-滚动条最好出现在弹框中,不是页面级别滚动。 避免出现滚动条套娃。 好啦以上就是全部啦!还没看表格的可以看看上一篇哦- 一件事让客户成为你的忠实用户!
领取专属 10元无门槛券
手把手带您无忧上云