原生js獲取寬高與jquery獲取寬高的方法關(guān)系對比
更新時間:2014年04月04日 11:41:45 作者:
這篇文章主要介紹了原生js獲取寬高與jquery獲取寬高的方法關(guān)系對比,需要的朋友可以參考下
說明:1、因為獲取高度的情況跟獲取寬度的情況一樣,所以以下只說獲取寬度的情況。
2、以下所說的所有方法與屬性所返回的值都是不帶單位的。
3、為了方便說明,以下情況采用縮寫表示:
obj -> 在原生JS中表示DOM對象;在JQuery中表示JQuery對象
Width -> obj.style.width
OffsetWidth -> obj.offsetWidth
$width -> obj.width()
$innerWidth -> obj.innerWidth()
$outerWidth -> obj.outerWidth()
padding -> 表示對象的padding-left和padding-right之和
border -> 表示對象的border-left-width和border-right-width之和
原生JS獲取寬度的相關(guān)屬性有 width和offsetWidth。width的獲取方法是obj.style.width,只有當對象是通過內(nèi)嵌方式設(shè)定寬度時才能獲得,否則返回的是一個空字符串。offsetWidth獲得的值跟JQuery中獲得對象的outerWidth一樣,offsetWidth是非標準的但卻得到很好支持的屬性。
JQuery獲得寬度的方法有width()、innerWidth()、outerWidth()這三種方法。具體使用方式是:obj.width()、obj.innerWidth()、obj.outerWidth()。width()獲得的是對象的內(nèi)容寬度,innerWidth()獲得的是對象的內(nèi)容寬度與填充寬度的和,outerWidth()獲得的是包括邊框、填充寬度與內(nèi)容寬度在內(nèi)的寬度。
這五種方法之間的關(guān)系如下:
width = $width;
offsetWidth = border + padding +width;
$innerWidth = padding + width;
$outerWidth = border + padding +width;
這五種方法對firefox、chrome、opera、safari、ie6、ie7、ie8、ie9都兼容,只是存在著兩種問題:1、width在沒有設(shè)定的情況下,chrome在第一次打開頁面時,所獲取到的寬度全部都是錯誤的。第二次打開時,結(jié)果就跟firefox一致。2、ie6未設(shè)定寬高的情況下,不會出現(xiàn)滾動條。
2、以下所說的所有方法與屬性所返回的值都是不帶單位的。
3、為了方便說明,以下情況采用縮寫表示:
obj -> 在原生JS中表示DOM對象;在JQuery中表示JQuery對象
Width -> obj.style.width
OffsetWidth -> obj.offsetWidth
$width -> obj.width()
$innerWidth -> obj.innerWidth()
$outerWidth -> obj.outerWidth()
padding -> 表示對象的padding-left和padding-right之和
border -> 表示對象的border-left-width和border-right-width之和
原生JS獲取寬度的相關(guān)屬性有 width和offsetWidth。width的獲取方法是obj.style.width,只有當對象是通過內(nèi)嵌方式設(shè)定寬度時才能獲得,否則返回的是一個空字符串。offsetWidth獲得的值跟JQuery中獲得對象的outerWidth一樣,offsetWidth是非標準的但卻得到很好支持的屬性。
JQuery獲得寬度的方法有width()、innerWidth()、outerWidth()這三種方法。具體使用方式是:obj.width()、obj.innerWidth()、obj.outerWidth()。width()獲得的是對象的內(nèi)容寬度,innerWidth()獲得的是對象的內(nèi)容寬度與填充寬度的和,outerWidth()獲得的是包括邊框、填充寬度與內(nèi)容寬度在內(nèi)的寬度。
這五種方法之間的關(guān)系如下:
width = $width;
offsetWidth = border + padding +width;
$innerWidth = padding + width;
$outerWidth = border + padding +width;
這五種方法對firefox、chrome、opera、safari、ie6、ie7、ie8、ie9都兼容,只是存在著兩種問題:1、width在沒有設(shè)定的情況下,chrome在第一次打開頁面時,所獲取到的寬度全部都是錯誤的。第二次打開時,結(jié)果就跟firefox一致。2、ie6未設(shè)定寬高的情況下,不會出現(xiàn)滾動條。
您可能感興趣的文章:
- JS上傳圖片前的限制包括(jpg jpg gif及大小高寬)等
- Js獲取圖片原始寬高的實現(xiàn)代碼
- js判斷圖片加載完成后獲取圖片實際寬高的方法
- javascript實現(xiàn)網(wǎng)頁中涉及的簡易運動(改變寬高、透明度、位置)
- js獲取圖片寬高的方法
- 純js代碼實現(xiàn)未知寬高的元素在指定元素中垂直水平居中顯示
- javascript獲取網(wǎng)頁寬高方法匯總
- JS 獲取瀏覽器和屏幕寬高等信息代碼
- javascript窗口寬高,鼠標位置,滾動高度(詳細解析)
- JS獲取圖片實際寬高及根據(jù)圖片大小進行自適應
- JS 獲取瀏覽器和屏幕寬高等信息的實現(xiàn)思路及代碼
- javascript獲取隱藏dom的寬高 具體實現(xiàn)
- js 獲取屏幕各種寬高的方法(瀏覽器兼容)
- 動態(tài)改變textbox的寬高的js
- JS獲取IMG圖片高寬的簡單實例
相關(guān)文章
JS實現(xiàn)六邊形3D拖拽翻轉(zhuǎn)效果的方法
這篇文章給大家分享一個利用javascript實現(xiàn)3D六邊形拖拽翻轉(zhuǎn)的效果實例,實現(xiàn)后的效果很贊,對大家的學習Javascript具有一定的參考借鑒價值,有需要的朋友們一起去來看看吧。2016-09-09JavaScript中callee和caller的區(qū)別與用法實例分析
這篇文章主要介紹了JavaScript中callee和caller的區(qū)別與用法,結(jié)合實例形式分析了javascript中callee和caller的功能、區(qū)別、用法及操作注意事項,需要的朋友可以參考下2019-06-06JavaScript中關(guān)于class的調(diào)用方法
下面小編就為大家?guī)硪黄琂avaScript中關(guān)于class的調(diào)用方法。具有很好的參考價值,希望對大家有所幫助2017-11-11