html页面背景固定,js固定弹窗背景页面的两种办法【原创】

在项目开发的过程中,我们会遇到很多的弹窗页面,如果不做特别说明,弹窗出现后,弹窗底下的背景页面仍然能够滑动,为了更好的用户体验,我们需要做到,弹窗出现后,背景固定不动,弹窗关闭后,才使得背景可滑动。针对这个问题,我简单描述下我的思路:

方法一和方法二:

1.首先,我们点击按钮,弹窗弹窗的这个操作,需要获取当前页面滚动条距离顶部的高度,并且设置页面的position属性为fixed;当position为fix的时候,页面会回到顶部,这个时候之前获取的滚动条距离顶部的高度就发挥作用了,设置页面的top值为其负数,就能够做到固定背景的效果。

2.当点击关闭弹窗按钮的时候,恢复页面的position值,设置滚动条距离顶部的高度为弹窗弹出时滚动条距离页面顶部的高度即可。

方法三:

1.弹出弹窗时,同样先获取当前页面滚动条距离顶部的高度;

2.监听页面的滚动事件,当页面滚动时,设置滚动条距离顶端的距离一直为先前获取的高度;

3.关闭弹窗时,取消页面的监听事件。

以下代码仅做参考:

//设置变量

var contentStyle = document.getElementById("content").style;//content是可以滚动的背景元素id名称

var scrollTop_;//设置背景元素的位置

//方法一:

//弹窗出现时

function fixed(){

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值