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 相关文章推荐
Jquery中getJSON在asp.net中的使用说明
Mar 10 Javascript
jQuery动态地获取系统时间实现代码
May 24 Javascript
JS常用正则表达式总结
Nov 12 Javascript
通过onmouseover选项卡实现img图片的变化
Feb 12 Javascript
javascript实现日期格式转换
Dec 16 Javascript
AngularJs基本特性解析(一)
Jul 21 Javascript
浅谈Angular的$q, defer, promise
Dec 20 Javascript
RequireJS 依赖关系的实例(推荐)
Jan 21 Javascript
React Native悬浮按钮组件的示例代码
Apr 05 Javascript
在vue中使用echarts图表实例代码详解
Oct 22 Javascript
ES6 Symbol数据类型的应用实例分析
Jun 26 Javascript
详解element-ui表格中勾选checkbox,高亮当前行
Sep 02 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
使用PHP批量生成随机用户名
2008/07/10 PHP
PHP文件读写操作之文件写入代码
2011/01/13 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
2014/06/24 PHP
php解决和避免form表单重复提交的几种方法
2016/08/31 PHP
for 循环性能比较 提高for循环的效率
2009/03/19 Javascript
JavaScript 设计模式学习 Singleton
2009/07/27 Javascript
javascript 不间断的图片滚动并可点击
2010/01/15 Javascript
利用jquery操作select下拉列表框的代码
2010/06/04 Javascript
jqPlot 图表中文API使用文档及源码和在线示例
2012/02/07 Javascript
JQuery获取各种宽度、高度(format函数)实例
2013/03/04 Javascript
ExtJS判断IE浏览器类型的方法
2014/02/10 Javascript
从零学jquery之如何使用回调函数
2014/05/16 Javascript
jQuery简易图片放大特效示例代码
2014/06/09 Javascript
基于Jquery实现仿百度百科右侧导航代码附源码下载
2015/11/27 Javascript
Javascript同时声明一连串(多个)变量的方法
2017/01/23 Javascript
Javascript for in的缺陷总结
2017/02/03 Javascript
使用nodejs爬取前程无忧前端技能排行
2017/05/06 NodeJs
vue轮播图插件vue-concise-slider的使用
2018/03/13 Javascript
Vue 中axios配置实例详解
2018/07/27 Javascript
微信小程序国际化探索实现(附源码地址)
2020/05/20 Javascript
[51:26]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第二局
2016/03/03 DOTA
[04:51]TI10典藏宝瓶Ⅱ外观视频展示
2020/08/15 DOTA
浅谈python字典多键值及重复键值的使用
2016/11/04 Python
python简单验证码识别的实现方法
2019/05/10 Python
浅谈Pycharm的项目文件名是红色的原因及解决方式
2020/06/01 Python
python爬虫用scrapy获取影片的实例分析
2020/11/23 Python
html5 postMessage前端跨域并前端监听的方法示例
2018/11/01 HTML / CSS
印度排名第一的蛋糕、鲜花和礼品送货:Winni
2019/08/02 全球购物
如何用Java实现列出某个目录下的所有子目录
2015/07/20 面试题
思想政治自我鉴定
2013/10/06 职场文书
如何写毕业求职自荐信
2013/11/06 职场文书
纠纷协议书
2014/04/16 职场文书
人才市场接收函
2015/01/30 职场文书
农业项目合作意向书
2015/05/08 职场文书
Nginx反向代理多个服务器的实现方法
2021/03/31 Servers
bootstrapv4轮播图去除两侧阴影及线框的方法
2022/02/15 HTML / CSS