html弹窗位置,跟随弹窗位置的确定,以及位置自适应-获取dom元素的确定位置,智能显示跟随弹框...

我们在页面弹窗中,总会需要一些弹窗能够跟随DOM的位置出现,叫做“跟随弹窗”。而跟随弹窗最好的要求就是要能根据dom元素所在的位置自动调整跟随dom的方位,以便让弹框完整的显示在可视区中。由于这个实现需要比较麻烦的算法,我们通常的写法就是根据直接让弹窗的左上角对齐dom元素的左下角或者左上角。这样写出的弹窗适应性比较差。

今天我们就来讲解一下让弹窗能自动调节跟随方位的算法问题。

2628fdb8b724507b21c8d8a8413b40e0.png

下面空间不足的时候,跟随弹窗自动显示在dom的上方。

972991ea4c995fa6f82eb9e74dcd6286.png

a54d7442af337fac60033ca17e06456a.png

上下空间都不足的时候,让跟随弹框显示在空间较大的方向,并且通过overflow:auto来调出滚动条展现内容

f9df57ea015df4b4456bce0f6582c53f.png

正常情况下下方空间足够大时跟随弹窗显示的位置。

19750387309b97ec7142fb5a804e5a39.png

左右宽度不够的的时候出现横向滚动条。

e12e946bbc20f6612b5583b7a8028ad5.png

跟随弹窗宽度大于dom元素宽度并且页面空间足够时,扩大弹窗的宽度。

我们要能让我们的跟随弹窗达到上面这几种自适应,那就是一个完美的跟随弹窗了。我们都用过My97date这个日历插件,它其实就有这种功能。那么我们下面来说一下这种弹窗定位的实现逻辑。

  • 小巧流水人家
  • 天边云卷云舒
  • 这下厉害了
  • 夕阳无限好,只是近黄昏
  • 百里平川
  • 我们的春天
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值