解决laydate时间日期插件定位溢出

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决laydate时间日期插件定位溢出相关的知识,希望对你有一定的参考价值。

laydate是一款比较好用的网页时间日期插件,不过用起来有一些细节问题需要我们手动去解决!例如:laydate兼容bootstrap

laydate弹出层默认对齐input左边框

技术分享

 

但是当这个input比较靠页面右边的时候就会出现弹出层一部分溢出的问题

技术分享

 

这就需要修改插件JS文件,使其能够判断是否溢出并修复定位

找到JS文件laydate.js

首先找到设置定位代码

a.style.left=e.left+(b?0:c.scroll(1))+"px"

将其修改为

var boxWidth = parseFloat(a.clientWidth); // 日期对象宽度
var leftWidth = parseFloat(e.left); // 左偏移像素
var bodyWidth = parseFloat(document.body.clientWidth); // 屏幕可见区域宽度
if (boxWidth + leftWidth > bodyWidth) {
    var leftPX =bodyWidth - boxWidth;
} else {
    var leftPX = leftWidth;
}

a.style.left=leftPX+"px"

保存,强刷一下页面

正常情况

技术分享

靠近网页边缘时

技术分享

已经可以了,本人JS并不是很好,如有更好的方法欢迎分享!O(∩_∩)O

以上是关于解决laydate时间日期插件定位溢出的主要内容,如果未能解决你的问题,请参考以下文章

layDate 日期与时间插件

日期时间插件--日期时间组件文档 - layui.laydate

layui之日期和时间组件

vue学习vue中怎么引用laydate.js日期插件

快速上手日期插件laydate

layDate 日期与时间组件点击显示时间后时间被日期挡住了?