定位filed穿透滚动问题
来源:互联网 发布:淘宝登录名 编辑:程序博客网 时间:2024/05/16 03:50
根据网上的资料,整理了下自己思路
如果直接点击弹出遮罩的时候给 body 加上 position:filed 那么 body 当前页面的默认顶部 top 则为 0
注意:body加上position:filed 则是 body 脱离当前文档流,因默认 top 为 0 所以固定在顶部不动
如果要把背景放成当前滑动到的位置则需要在 body 脱离文档流之前记录当前页面被卷曲的高度,因为页面是向上移动,所以得到的是正值,
现在页面要然他固定 top 则需要把正值转为负值,个人用的方法是字符串拼接,直接把得到的高度加 ‘ - ’ 号再转为整数,并赋值给 top 样式属性
取消弹窗主要是把之前设定的 position:filed 和 top 去掉,去掉 position:filed 之后页面会默认回到顶部如果要定位到点击之前浏览的位置则需要
重新进行定位,在执行去掉事件之前获得当前top值
当前获得的 top 值可能是 -100px 这样的,用 scrollTop 去定位当前需要跳转到的位置需要把获取到的 top 做处理,去掉-号和 px 可以用正则或 replace 函数
最后使用 scrollTop 跳转到当前位置
点击取消弹窗的方法可以参考另一篇文事件委托取消遮罩层
jq代码片段:
点击展开遮罩时
var offT=parseInt($('body').scrollTop()); //记录当前屏幕的高度
$('body').css({position:'fixed',top:'-'+offT+'px'});
点击关闭遮罩时
var offT=$('body').css('top'); //记录当前屏幕的高度
offT=offT.replace('-','').replace('px','');
$('body').attr('style','');
$('body').scrollTop(offT);
- 定位filed穿透滚动问题
- 移动端 滚动穿透问题
- 移动端滚动穿透问题完美解决方案
- 定位滚动条的问题
- Filed
- Filed
- 解决移动端可恨的滚动穿透问题
- IE6 select穿透问题(div 定位无法遮盖select)!
- DIV滚动条自动定位问题
- 移动端滚动穿透解决方案
- 小程序弹出层---史上最简单写法,已解决滚动穿透问题
- 【MFC】关于EditBox中滚动条定位问题
- 解决 IE6 position:fixed 固定定位问题(div固定,不随着滚动条滚动)
- 解决相对定位随滚动条滚动可以无限下滑的问题
- ORACLE穿透防火墙问题
- 缓存穿透问题
- 手机UDP穿透问题
- switch语句穿透问题
- 浏览器原理
- shell脚本 符号 `` 和$()的对比 及eval命令
- 免费视频教程:java经典面试题深度解析
- Java数据类型之基本数据类型
- mysql零基础入门视频教程免费分享!
- 定位filed穿透滚动问题
- iOS应用内语言切换功能
- Git的基本使用方法
- 利用断言提高mybatis程序健壮性
- ini文件简单读写
- android studio搜索功能
- zabbix学习(一)安装和配置zabbix-server
- not all arguments converted during string formatting
- f-stack 队列和进程关系