jquery BS,dialog控件自適應(yīng)大小
原來(lái)它需要xhtml才行,而公司的產(chǎn)品是html的。為此,研究了一下自適應(yīng)大小的實(shí)現(xiàn)。
原來(lái)一直覺(jué)得jquery取寬度高度很神奇,原來(lái)是直接取的dom中element的offsetWidth/offsetHeight等屬性,當(dāng)有element插入dom中,瀏覽器就會(huì)根據(jù)規(guī)則計(jì)算出相應(yīng)的屬性,這里抄幾個(gè)相關(guān)的屬性。
scrollWidth 是對(duì)象的實(shí)際內(nèi)容的寬,不包邊線寬度,會(huì)隨對(duì)象中內(nèi)容的多少改變(內(nèi)容多了可能會(huì)改變對(duì)象的實(shí)際寬度)。
clientWidth 是對(duì)象可見(jiàn)的寬度,不包滾動(dòng)條等邊線,會(huì)隨窗口的顯示大小改變。
offsetWidth 是對(duì)象的可見(jiàn)寬度,包滾動(dòng)條等邊線,會(huì)隨窗口的顯示大小改變。
clientWidth、offsetWidth、clientHeight..區(qū)別
IE6.0、FF1.06+:
clientWidth = width + padding
clientHeight = height + padding
offsetWidth = width + padding + border
offsetHeight = height + padding + border
IE5.0/5.5:
clientWidth = width - border
clientHeight = height - border
offsetWidth = width
offsetHeight = height
(需要提一下:CSS中的margin屬性,與clientWidth、offsetWidth、clientHeight、offsetHeight均無(wú)關(guān))
offsetwidth:是元素相對(duì)父元素的偏移寬度。等于border+padding+width
clientwidth:是元素的可見(jiàn)寬度。等于padding+width
scrollwidth:是元素的寬度且包括滾動(dòng)部分。
研究了下實(shí)現(xiàn)不了的原因。原來(lái)是jquery.alerts控件里面全是div的,簡(jiǎn)單的HTML在IE里,div的寬度似乎不根據(jù)內(nèi)部?jī)?nèi)容變大而變大,直接有多大就多大,這樣取到的offsetWidth就很大了,自適應(yīng)大小就沒(méi)實(shí)現(xiàn),當(dāng)然XHTML的情況取offsetWidth就可以了。
看了下EXT的實(shí)現(xiàn)方式,它就聰明多了,內(nèi)部?jī)?nèi)容用span等隨內(nèi)容大小變化的el,這樣取到offset屬性就真實(shí)了,然后將內(nèi)部一個(gè)個(gè)el的寬度都加上,包括padding和border,算出外層的總寬度。
雖然也想簡(jiǎn)單用xhtml,但沒(méi)辦法。還是學(xué)EXT,雖然麻煩一些,但可靠。
相關(guān)文章
jQuery表單校驗(yàn)插件validator使用方法詳解
這篇文章主要為大家詳細(xì)介紹了jQuery表單校驗(yàn)插件validator的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02jQuery結(jié)合AJAX之在頁(yè)面滾動(dòng)時(shí)從服務(wù)器加載數(shù)據(jù)
這篇文章主要介紹了jQuery結(jié)合AJAX之在頁(yè)面滾動(dòng)時(shí)從服務(wù)器加載數(shù)據(jù),文中示例服務(wù)器端為C#程序,需要的朋友可以參考下2015-06-06jquery亂碼與contentType屬性設(shè)置問(wèn)題解決方案
讓人頭痛的Jquery亂碼問(wèn)題。其實(shí)這方面文章已經(jīng)很多了,但全面解決各種問(wèn)題的很少,今天總結(jié)一下,方便自己也方便大家,感興趣的朋友可以了解下哦2013-01-01JQuery表格拖動(dòng)調(diào)整列寬效果(自己動(dòng)手寫(xiě)的)
當(dāng)鼠標(biāo)停留在表頭邊框線上時(shí),鼠標(biāo)會(huì)變成表示左右拖動(dòng)的形狀,接著拖動(dòng)鼠標(biāo),會(huì)在表格中出現(xiàn)一條隨鼠標(biāo)移動(dòng)的豎線,最后放開(kāi)鼠標(biāo),表格列寬會(huì)被調(diào)整2014-09-09jquery讀寫(xiě)cookie操作實(shí)例分析
這篇文章主要介紹了jquery讀寫(xiě)cookie操作,結(jié)合實(shí)例形式分析了jQuery針對(duì)cookie的常用讀寫(xiě)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-12-12jquery簡(jiǎn)單實(shí)現(xiàn)滾動(dòng)條下拉DIV固定在頭部不動(dòng)
滾動(dòng)條下拉DIV固定在頭部不動(dòng)效果,想必很多的朋友都有見(jiàn)到過(guò)吧,下面為大家詳細(xì)介紹下使用jquery是如何實(shí)現(xiàn)的,感興趣的朋友可以參考下2013-11-11jQuery實(shí)現(xiàn)簡(jiǎn)易聊天框
這篇文章主要為大家詳細(xì)介紹了jQuery實(shí)現(xiàn)簡(jiǎn)易聊天框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02jQuery中scrollLeft()方法用法實(shí)例
這篇文章主要介紹了jQuery中scrollLeft()方法用法,實(shí)例分析了scrollLeft()方法的功能、定義及獲取或設(shè)置匹配元素相對(duì)滾動(dòng)條左側(cè)的偏移(offset)量時(shí)的使用技巧,需要的朋友可以參考下2015-01-01