关于body添加position:fixed会返回到网页顶部的问题
来源:互联网 发布:软件手术刀怎么用 编辑:程序博客网 时间:2024/05/16 23:32
做网页免不了遇到弹窗,遮罩层这些页面,当有遮罩层的时候需要禁止底层页面滑动,本来使用event.stopPropagation();阻止事件冒泡在安卓端就是可以实现的,但是在ios上这个并不起作用。
所以为了方便在弹出遮罩层的同时给body设置'position':'fixed';'top':'负的当前浏览器顶部距离页面顶部距离';此时,点击遮罩层的时候底层页面不动且页面位置正好;但是点击遮罩层蒙版的灰板时网页依旧会返回到页面的顶部;
所以,可以将“当前浏览器顶部距离页面顶部距离”设置成一个全局变量,当遮罩层消失的时候让滚动条向上滚动“当前浏览器顶部距离页面顶部距离”,即可实现既定效果。
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
ul,li{
list-style: none;
}
li{
display: block;
width: 100%;
height: 0.8rem;
font-size: 0.25rem;
background: salmon;
border-bottom: 1px solid aqua;
}
input{
width: 1.5rem;
height: 0.88rem;
font-size: 0.45rem;
}
#men{
display: none;
}
#menbg{
position: fixed;
width: 100%;
height: 100%;
background: black;
opacity: 0.7;
left: 0;
top: 0;
z-index: 2;
}
#con{
width: 80%;
height: 5rem;
background: white;
position: fixed;
z-index: 3;
top: 1rem;
left: 10%;
}
</style>
<script type="text/javascript">
document.documentElement.style.fontSize=document.documentElement.clientWidth/7.5+'px';
</script>
<body>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>4d</li>
<li>5d</li>
<li>6d</li>
<li>7f</li>
<li>8f</li>
<input type="button" name="" id="" value="dfdfaf" />
<li>9</li>
<li>a</li>
<li>b</li>
<li>c</li>
<li>d</li>
<li>e</li>
<li>f</li>
<li>g</li>
<li>h</li>
<li>i</li>
</ul>
<div id="men">
<div id="menbg">
</div>
<div id="con">
</div>
</div>
</body>
<script src="js/jquery-2.1.4.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$(function(){
var top;
$('input').click(function(){
top = $(window).scrollTop();
$('#men').show();
$('body').css({
'position':'fixed',
'width':'100%',
'top':-top
})
});
$('#menbg').bind('touchstart',function(){
$('#men').hide();
$('body').css({
'position':'static'
})
$(window).scrollTop(top)
})
})
</script>
</html>
如果各位大神有可以解决event.stopPropagation();在安卓和iOS上兼容性问题的,期望指教;
有其他更加便捷的实现方法的也同样希望不吝赐教。
- 关于body添加position:fixed会返回到网页顶部的问题
- 关于position: fixed学习,顶部固定导航
- IOS 7.0中网页position=fixed的问题
- position:fixed失效的问题
- position:fixed的元素定位到滚动区域,会被覆盖
- 关于IE6不支持position:fixed的解决办法
- 关于网页中返回顶部按钮的定位
- 网页顶部空白 head解析到body中
- 如何为网页添加返回顶部按钮
- 在网页中添加 “返回顶部”按钮
- 关于{position:fixed}
- 关于position:fixed
- 返回网页顶部的代码
- 解决IE6不支持position:fixed的问题
- css3 position fixed居中的问题
- 解决IE6不支持position:fixed;的问题
- 解决IE6不支持position:fixed;的问题
- 解决position:fixed 定位抖动的问题
- Java异常处理
- Famous Stone Collector HDU
- Python学习(一)
- 亲身体验行为驱动开发
- View实现弹性滑动
- 关于body添加position:fixed会返回到网页顶部的问题
- jsessionid用途
- c++头文件
- Hello Python!!!
- 带你轻松了解Android 设计模式——Builder模式
- 一段在京实习的经历
- 前端挑战之js编程题(1)
- LeetCode 500 Keyboard Row
- 【C】浅谈c语言里面的结构体和位段!!!