簡體   English   中英

獲取jQuery UI Datepicker的高度和寬度

[英]Get the Height and Width of a jQuery UI Datepicker

我正在使用jQuery UI Datepicker小部件。 當用戶更改窗口小部件上的月份或年份時,我的代碼向服務器發出ajax請求,以獲取該月/年的突出顯示日期。 為了向用戶提供網頁正在等待服務器的指示,我正試圖使日期選擇器變灰並顯示加載圖像。 我已經可以完成所有這些了,除了我在獲取灰色部分的高度和寬度以匹配datepicker小部件的高度和寬度方面遇到了問題。

因為每次調用疊加層時,日期選擇器的高度可以根據一個月內的周數來改變,所以我試圖使用jQuery來獲取窗口小部件的高度,然后顯示疊加層。 但是,高度似乎永遠不會與日期選擇器的實際高度相匹配。 以下是我嘗試設置高度的兩種方法。

$('#loading').height($('.ui-datepicker-calendar').height() + $('.ui-datepicker-header').height())

$('#loading').height($('.ui-datepicker-inline.ui-datepicker.ui-widget.ui-widget-content.ui-helper-clearfix.ui-corner-all').height())

兩者都不奏效。 有沒有人知道我可以通過編程方式獲取jQuery UI Datepicker小部件的高度和寬度?

這是一個很長的鏡頭,因為我無法准確地說出你的意思, the height never seems to match the actual height ,除了它沒有覆蓋整個日期選擇器。 對此的解決方案可能是outerWidth()outerHeight() 這些函數獲取元素的寬度, 包括邊框,填充和(可選)邊距:

$('#loading').height($('.ui-datepicker-calendar').outerHeight(false) + $('.ui-datepicker-header').outerHeight(false))

$('#loading').height($('.ui-datepicker-inline.ui-datepicker.ui-widget.ui-widget-content.ui-helper-clearfix.ui-corner-all').outerHeight(false))

outerHeight(false)表示“獲取高度加上填充和邊框,但省略邊距”。 如果要包含邊距,請將其設置為true

height()工作正常,問題是其他人編輯了文件並在我不知情的情況下添加了填充。 因此,當我設置高度時,它總是添加了一堆額外的像素,使得我的疊加層對於datepicker小部件來說太大了。 另外,選擇.ui-datepicker-inline就足夠了。 所以我最后的jQuery代碼是:

$('#loading').height($('.ui-datepicker-inline').height());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM