bootstrap datetimepicker控件位置异常的解决方法


Posted in Javascript onNovember 23, 2017

今天在写毕设的时候,用到了bootstrap-datetimepicker作为日期控件。

在git上clone下最新的代码,运行demo,发现控件区域整体下移1000px左右。

作为一个准备拿来就用的后台程序猿,此刻我的内心是崩溃的…

百度了很久,没有找到对应的解决方案,于是自己动手去源码修改。

最终解决方案:

打开源码,的bootstrap-datetimepicker.js文件

line 527行,打开这一段注释即可

/*if (this.pickerPosition == 'top-left' || this.pickerPosition == 'top-right') {
    top = offset.top - this.picker.outerHeight();
   } else {
    top = offset.top + this.height;
   }*/

如果看着还是不是很舒服的话,建议注释掉line 533 - line 544

top = top - containerOffset.top + 169;
left = left - containerOffset.left + 210;

为什么要这样解决呢?

place: function () {
   if (this.isInline) return;

   if (!this.zIndex) {
    var index_highest = 0;
    $('div').each(function () {
     var index_current = parseInt($(this).css('zIndex'), 10);
     if (index_current > index_highest) {
      index_highest = index_current;
     }
    });
    this.zIndex = index_highest + 10;
   }

   var offset, top, left, containerOffset;
   if (this.container instanceof $) {
    containerOffset = this.container.offset();
   } else {
    containerOffset = $(this.container).offset();
   }

   if (this.component) {
    offset = this.component.offset();
    left = offset.left;
    if (this.pickerPosition == 'bottom-left' || this.pickerPosition == 'top-left') {
     left += this.component.outerWidth() - this.picker.outerWidth();
    }
   } else {
    offset = this.element.offset();
    left = offset.left;
   }

   var bodyWidth = document.body.clientWidth || window.innerWidth;
   if (left + 220 > bodyWidth) {
    left = bodyWidth - 220;
   }

   /*if (this.pickerPosition == 'top-left' || this.pickerPosition == 'top-right') {
    top = offset.top - this.picker.outerHeight();
   } else {
    top = offset.top + this.height;
   }*/

   top = top - containerOffset.top + 169;
   left = left - containerOffset.left + 210;

   this.picker.css({
    top:  top,
    left:  left,
    zIndex: this.zIndex
   });
  },

上面就是相关的源码,可以看到,注释了line 527行之后,在后面引用了一个未初始化过的top变量

嗯… 这是一个没经过测试就提交的小BUG…

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
页面中js执行顺序
Nov 09 Javascript
AngularJS入门教程(零):引导程序
Dec 06 Javascript
vuejs动态组件给子组件传递数据的方法详解
Sep 09 Javascript
JavaScript实现类似拉勾网的鼠标移入移出效果
Oct 27 Javascript
js 中获取制定的cook信息实现方法
Nov 19 Javascript
AngularJS全局scope与Isolate scope通信用法示例
Nov 22 Javascript
使用Angular CLI进行单元测试和E2E测试的方法
Mar 24 Javascript
node微信开发之获取access_token+自定义菜单
Mar 17 Javascript
Vue-cli3.x + axios 跨域方案踩坑指北
Jul 04 Javascript
微信小程序组件传值图示过程详解
Jul 31 Javascript
vue和iview实现Scroll 数据无限滚动功能
Oct 31 Javascript
VUE解决跨域问题Access to XMLHttpRequest at
May 06 Vue.js
Bootstrap 3多级下拉菜单实例
Nov 23 #Javascript
bootstrap实现二级下拉菜单效果
Nov 23 #Javascript
详解vue项目的构建,打包,发布全过程
Nov 23 #Javascript
Bootstrap实现下拉菜单多级联动
Nov 23 #Javascript
bootstrap select下拉搜索插件使用方法详解
Nov 23 #Javascript
基于Bootstrap实现城市三级联动
Nov 23 #Javascript
bootstrap-Treeview实现级联勾选
Nov 23 #Javascript
You might like
PHP实现分布式memcache设置web集群session同步的方法
2018/04/10 PHP
PHP排序算法之快速排序(Quick Sort)及其优化算法详解
2018/04/21 PHP
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
thinkphp5使用无限极分类
2019/02/18 PHP
Jquery Validate 正则表达式实用验证代码大全
2013/08/23 Javascript
jQuery获取Radio,CheckBox选择的Value值(示例代码)
2013/12/12 Javascript
动态加载脚本提升javascript性能
2014/02/24 Javascript
JavaScript实现为指定对象添加多个事件处理程序的方法
2015/04/17 Javascript
分享10个原生JavaScript技巧
2015/04/20 Javascript
javascript实现随机读取数组的方法
2015/08/03 Javascript
在 Express 中使用模板引擎
2015/12/10 Javascript
AngularJS入门心得之directive和controller通信过程
2016/01/25 Javascript
利用jquery实现瀑布流3种案例
2016/09/18 Javascript
JS调用打印机功能简单示例
2016/11/28 Javascript
js实现密码强度检验
2017/01/15 Javascript
关于使用axios的一些心得技巧分享
2017/07/02 Javascript
vue中使用sessionStorage记住密码功能
2018/07/24 Javascript
js实现九宫格布局效果
2020/05/28 Javascript
使用Python脚本操作MongoDB的教程
2015/04/16 Python
python Django框架实现自定义表单提交
2016/03/25 Python
在Linux命令行终端中使用python的简单方法(推荐)
2017/01/23 Python
世界闻名的衬衫制造商:Savile Row Company
2018/07/30 全球购物
美国时尚大码女装购物网站:Avenue
2019/05/24 全球购物
德国游戏机商店:Konsolenkost
2019/12/08 全球购物
师范生个人推荐信
2013/11/29 职场文书
考试没考好检讨书
2014/01/31 职场文书
优良学风班总结材料
2014/02/08 职场文书
公司新年寄语
2014/04/04 职场文书
入党推优材料
2014/06/02 职场文书
干部竞争上岗演讲稿
2014/09/11 职场文书
护士个人年终总结
2015/02/13 职场文书
借款民事起诉状范文
2015/05/19 职场文书
现实表现证明材料
2015/06/19 职场文书
2016大学军训通讯稿
2015/11/25 职场文书
Redis做数据持久化的解决方案及底层原理
2021/07/15 Redis
德劲DE1107指针试高灵敏度全波段收音机机评
2022/04/05 无线电