bootstrapdatetimepicker控件位置異常的解決方法

今天在寫(xiě)畢設(shè)的時(shí)候,用到了bootstrap-datetimepicker作為日期控件。

墨脫網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,墨脫網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為墨脫上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的墨脫做網(wǎng)站的公司定做!

在git上clone下最新的代碼,運(yùn)行demo,發(fā)現(xiàn)控件區(qū)域整體下移1000px左右。

作為一個(gè)準(zhǔn)備拿來(lái)就用的后臺(tái)程序猿,此刻我的內(nèi)心是崩潰的…

百度了很久,沒(méi)有找到對(duì)應(yīng)的解決方案,于是自己動(dòng)手去源碼修改。

最終解決方案:

打開(kāi)源碼,的bootstrap-datetimepicker.js文件

line 527行,打開(kāi)這一段注釋即可

 /*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
   });
  },

上面就是相關(guān)的源碼,可以看到,注釋了line 527行之后,在后面引用了一個(gè)未初始化過(guò)的top變量

嗯… 這是一個(gè)沒(méi)經(jīng)過(guò)測(cè)試就提交的小BUG…

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

分享題目:bootstrapdatetimepicker控件位置異常的解決方法
當(dāng)前地址:http://muchs.cn/article20/ghedco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、云服務(wù)器、企業(yè)建站品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站營(yíng)銷(xiāo)、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名