經過一個demo測試這三個屬性的差異。測試
說明:spa
scrollWidth:對象的實際內容的寬度,不包邊線寬度,會隨對象中內容超過可視區後而變大。
clientWidth:對象內容的可視區的寬度,不包滾動條等邊線,會隨對象顯示大小的變化而改變。
offsetWidth:對象總體的實際寬度,包滾動條等邊線,會隨對象顯示大小的變化而改變。對象
該demo就在頁面中放一個textarea元素,採用默認寬高顯示。cli
狀況1:scroll
元素內無內容或者內容不超過可視區,滾動不出現或不可用的狀況下。im
scrollWidth=clientWidth,二者皆爲內容可視區的寬度。textarea
offsetWidth爲元素的實際寬度。demo
狀況2:img
元素的內容超過可視區,滾動條出現和可用的狀況下。co
scrollWidth>clientWidth。
scrollWidth爲實際內容的寬度。
clientWidth是內容可視區的寬度。
offsetWidth是元素的實際寬度。
/***************************************/
scrollTop:頁面利用滾動條滾動到下方時,隱藏在滾動條上方的頁面的高度;
scrollLeft:頁面利用滾動條滾動到右側時,隱藏在滾動條左側的頁面的寬度