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操作输入框提示信息且响应鼠标事件
Mar 25 Javascript
Javascript 数组排序详解
Oct 22 Javascript
js限制文本框只能输入中文的方法
Aug 11 Javascript
基于jquery实现表格无刷新分页
Jan 07 Javascript
JS模拟简易滚动条效果代码(附demo源码)
Apr 05 Javascript
如何利用模板将HTML从JavaScript中抽离
Oct 08 Javascript
JS代码实现百度地图 画圆 删除标注
Oct 12 Javascript
vue.js通过自定义指令实现数据拉取更新的实现方法
Oct 18 Javascript
bootstrap精简教程_动力节点Java学院整理
Jul 14 Javascript
ES6新增的math,Number方法
Aug 06 Javascript
angularJS实现动态添加,删除div方法
Feb 27 Javascript
JavaScript中的几种继承方法示例
Dec 06 Javascript
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
解决phpmyadmin中文乱码问题。。。
2007/01/18 PHP
php中常用的预定义变量小结
2012/05/09 PHP
php目录操作实例代码
2014/02/21 PHP
PHP分享图片的生成方法
2018/04/25 PHP
简单实用的PHP文本缓存类实例
2019/03/22 PHP
PHP中非常有用却鲜有人知的函数集锦
2019/08/17 PHP
phpstorm激活码2020附使用详细教程
2020/09/25 PHP
可以显示单图片,多图片ajax请求的ThickBox3.1类下载
2007/12/23 Javascript
Jquery为单选框checkbox绑定单击click事件
2012/12/18 Javascript
放弃用你的InnerHTML来输出HTML吧 jQuery Tmpl不详细讲解
2013/04/20 Javascript
jquery scrollTop方法根据滚动像素显示隐藏顶部导航条
2013/05/27 Javascript
jQuery中end()方法用法实例
2015/01/08 Javascript
jquery实现点击查看更多内容控制段落文字展开折叠效果
2015/08/06 Javascript
JS弹出层遮罩,隐藏背景页面滚动条细节优化分析
2016/04/29 Javascript
DIV+CSS+jQ实现省市联动可扩展
2016/06/22 Javascript
jQuery基础_入门必看知识点
2016/07/04 Javascript
移动端滑动插件Swipe教程
2016/10/16 Javascript
javascript简易画板开发
2020/04/12 Javascript
vue2 中如何实现动态表单增删改查实例
2017/06/09 Javascript
基于 Vue 的树形选择组件的示例代码
2017/08/18 Javascript
AngularJS中table表格基本操作示例
2017/10/10 Javascript
JS forEach跳出循环2种实现方法
2020/06/24 Javascript
使用python BeautifulSoup库抓取58手机维修信息
2013/11/21 Python
java直接调用python脚本的例子
2014/02/16 Python
Python获取网页上图片下载地址的方法
2015/03/11 Python
windows 10下安装搭建django1.10.3和Apache2.4的方法
2017/04/05 Python
python3 selenium自动化测试 强大的CSS定位方法
2019/08/23 Python
tensorflow 获取所有variable或tensor的name示例
2020/01/04 Python
python实现吃苹果小游戏
2020/03/21 Python
Python爬虫scrapy框架Cookie池(微博Cookie池)的使用
2021/01/13 Python
远程调用的原理
2014/07/05 面试题
高三高考决心书
2014/03/11 职场文书
小学教师寄语大全
2014/04/03 职场文书
2014年度培训工作总结
2014/11/27 职场文书
2015双创工作总结
2015/07/24 职场文书
Redis Stream类型的使用详解
2021/11/11 Redis