JS弹出层制作,以及移动端禁止弹出层下内容滚动,overflow:hidden移动端失效问题
HTML
<div class="layer">
<div class="menu-list">
<span>社会</span>
<span>历史</span>
<span>军事</span>
<span>娱乐</span>
<span>电影</span>
<span>财经</span>
<span>体育</span>
<span>科技</span>
<span>手机</span>
<span>健康</span>
<span>情感</span>
<span>亲子</span>
</div>
</div>
CSS
.preHander{
overflow: hidden;
}
当设置背景层内容overflow:hidden的时候在PC端和模拟器上的有的,但是到的安卓、IOS真机运行的时候失效!
JS
$('.menu').click(function(){
$('.layer').show()
var scroTop=$(document).scrollTop() //滚动条距离顶部的位置
$('.layer').css('top',scroTop+'px') //弹出框顶部位置
$('.menu-list').css('z-index','9999')
$('html,body').addClass('preHander') //禁止弹出框下面内容滚动,但是在真机运行失效// 添加触摸监听事件,如果手指触摸到阴影区域,弹出层消失!
document.addEventListener('touchstart',touch, false)
function touch(event){
var event=event || window.event;
if(!$(event.target).is($('.menu-list'))&&$(event.target).parent('.menu-list').length===){
$(".layer").hide();
$('html,body').removeClass('preHander') //解除弹出框下面内容滚动
}
}
})
所以为了禁止弹出层下内容的滚动,必须要禁止滑动事件传递到下一层,所以要防止滑动事件冒泡
// 当弹出层出现的时候,禁止弹出层背景层滑动,阻止事件传递冒泡
function move(e){
e.preventDefault();//禁止事件冒泡
}
当弹出层出现的时候
// 当弹出层出现的时候,禁止弹出层背景层滑动,阻止事件传递冒泡
function move(e){
e.preventDefault();//禁止事件冒泡
}
$('.layer').on('touchmove',move, false)//弹出层出现,弹出层的背景层阻止默认滑动事件
所以最后的JS应该是
// 点击菜单函数封装=========================================================
function menushow(){
$('.menu').click(function(){
$('.layer').show()
var scroTop=$(document).scrollTop() //滚动条距离浏览器顶部的位置
$('.layer').css('top',scroTop+'px') //弹出框顶部相对于浏览器的位置,就是在可视窗口的顶部
$('.menu-list').css('z-index','')
// 当弹出层出现的时候,禁止弹出层背景层滑动,阻止事件传递冒泡
function move(e){
e.preventDefault();//禁止事件冒泡
}
$('.layer').on('touchmove',move, false)//弹出层出现,弹出层的背景层阻止默认滑动事件
// 添加触摸监听事件,如果手指触摸到阴影区域,弹出层消失!
document.addEventListener('touchstart',touch, false)
function touch(event){
var event=event || window.event;
if(!$(event.target).is($('.menu-list'))&&$(event.target).parent('.menu-list').length===){
$(".layer").hide();
}
}
})
}
JS弹出层制作,以及移动端禁止弹出层下内容滚动,overflow:hidden移动端失效问题的更多相关文章
- jquery制作弹出层带遮罩效果,点击阴影部分层消失
jquery制作弹出层带遮罩效果,点击阴影部分层消失. 整体还是比较简单的. HTML代码很简单 <a href="#" class="big-link" ...
- pc端有弹出层 并有滚动的时候遇到的问题以及解决
有时候页面会遇到这样一个问题,页面有个弹出层 ,弹出层是有动条的,当弹出层滚完的时候,后面的页面也会滚动,但是我们希望是后面的页面不滚动;代码如下 1:弹出层出现的时候设置 $('body').css ...
- JQuery弹出层,点击按钮后弹出遮罩层,有关闭按钮【转】
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <t ...
- 每日技术总结:Better-scroll应用于弹出层内容滚动
一.Better-scroll在项目中的应用 Better-scroll这款滚动插件还是很好用的,通常不会有什么问题.但偶尔总会出点意外.今天再次使用better-scroll,记录一下这次顺利的过程 ...
- layui弹出层处理(获取、操作弹出层数据等)
要点: 字符串被渲染为弹窗层之后,回自动转换为DOM,可以使用jq进行各种操作 <!DOCTYPE html> <html> <head> <meta cha ...
- JS组件系列——Bootstrap寒冬暖身篇:弹出框和提示框效果以及代码展示
前言:对于Web开发人员,弹出框和提示框的使用肯定不会陌生,比如常见的表格新增和编辑功能,一般常见的主要有两种处理方式:行内编辑和弹出框编辑.在增加用户体验方面,弹出框和提示框起着重要的作用,如果你的 ...
- 移动端页面 弹出框滚动,底部body锁定,不滚动 / 微信网页禁止回弹效果
需求:页面有弹出层菜单,当弹出层菜单超出屏幕可视区域时,不能滚动.加上滚动后,底部body的滚动事件如何禁止,加上了overflow:hidden;还是不可用. 如下图:地区弹出框可以滚动,而底部的b ...
- 原生js日期时间插件鼠标点击文本框弹出日期时间表格选择日期时间
原文出处 (这是我从互联网上搜来的,感觉能满足各方面的需求.个人感觉挺不错的,所以后期修改了一下向大家推荐!) 效果图: html代码: <!DOCTYPE html PUBLIC " ...
- JS 判断 Radio 单选按钮是否为选中状态 并弹出 值信息
今天项目中所解决的问题:JS 判断 Radio 单选按钮是否为选中状态 并弹出 值信息,一开始总是获取不到 radio 的值,后来发现逻辑存在些问题,特此共享该代码留笔记 和 分享给遇到 这类问题的 ...
随机推荐
- Java学习资源 - J2EE
java Web开发基础(一)工程项目文档结构 ========rmi=========== Java RMI 框架(远程方法调用) java RMI原理详解 深究Java中的RMI底层原理 ==== ...
- [03] Recursive Function递归应用
递归应用 1.理解 百科:一种计算过程,如果其中每一步都要用到前一步或前几步的结果,称为递归的: 理解:函数调用自己的过程,这类函数处理的事情具有重复性,处理此类实行可用while或者for,但结构上 ...
- 常用的OpenCV 2.0函数速查
OpenCV 2.0函数释义列表 1.cvLoadImage:将图像文件加载至内存: 2.cvNamedWindow:在屏幕上创建一个窗口: 3.cvShowImage:在一个已创建好的窗口中显示图像 ...
- Red Black Tree(红黑树)
(修改于 2018-05-06 15:53:22 还差删除维护操作.层序遍历没完成.维护操作没完成不想写层序遍历怎么办...) 今天下午完成了红黑树的插入的维护操作,但删除的维护操作还没有解决,删除的 ...
- AF(操作者框架)系列(1)-LabVIEW中的模块化应用概述
一.引子 在前面对LabVIEW介绍的文章中,关于框架开发的内容涉及很少.为了讲解操作者框架(Actor Framework)的优缺点,也只是拿出来QDSM(Queue-Driven State Ma ...
- 记一次RocketMQ源码导入IDEA过程
首先,下载源码,可以官网下载source包,也可以从GitHub上直接拉下来导入IDEA.如果是官网下载的source zip包,直接作为当前project的module导入,这里不赘述太多,只强调一 ...
- AttributeError: 'Word2Vec' object has no attribute 'vocab'
在 Gensim 1.0.0 版本后移除了 vocab,需使用 model.wv.vocab
- Tachyon---基于内存的分布式存储系统
Tachyon是一个以内存为核心的开源分布式存储系统,也是目前发展最迅速的开源大数据项目之一.Tachyon为不同的大数据计算框架(如Apache Spark,Hadoop MapReduce, Ap ...
- 【PAT甲级】1030 Travel Plan (30 分)(SPFA,DFS)
题意: 输入N,M,S,D(N,M<=500,0<S,D<N),接下来M行输入一条边的起点,终点,通过时间和通过花费.求花费最小的最短路,输入这条路径包含起点终点,通过时间和通过花费 ...
- 树莓派4B踩坑指南 - (2)安装系统及初始化
安装系统及初始化 格式化TF卡:SDFormatter 4.0.如果需要换系统,则必须先烧录进一个空img,然后再格式化! 烧录系统:Win32DiskImager-0.9.5 更改默认密码:账号pi ...