window.innerWidth能獲得什麼數據?
在自適應設計中,需要用js來判斷瀏覽器寬度,從而調整網頁寬度和佈局,我一開始用的是window.innerWidth。
window.innerWidth能獲取當前窗口的寬度(包含滾動條),當瀏覽器寬度調整時,這個值也會跟着變化。
但是,window.innerWidth在IE8瀏覽器是無效的。所以,需要使用一個代替品,那就是$(window).width()。
$(window).width()與window.innerWidth有什麼區別?
$(window).width()也是獲得瀏覽器寬度的方法,但它跟window.innerWidth是不同的。
1)$(window).width()需要引用jquery.js文件,它是jquery方法。而window.innerWidth是js方法,不需要引用jquery.js文件。
2)它們獲取的數值是不同的,window.innerWidth獲取當前窗口的寬度(包含滾動條),$(window).width()獲取當前窗口的寬度(不包含滾動條)。看下圖所示:
$(window).width()與window.innerWidth的區別
知識擴展
Javascript、Jquery獲取瀏覽器和屏幕各種高度寬度
Javascript:
alert(document.body.clientWidth); //網頁可見區域寬(body)
alert(document.body.clientHeight); //網頁可見區域高(body)
alert(document.body.offsetWidth); //網頁可見區域寬(body),包括border、margin等
alert(document.body.offsetHeight); //網頁可見區域寬(body),包括border、margin等
alert(document.body.scrollWidth); //網頁正文全文寬,包括有滾動條時的未見區域
alert(document.body.scrollHeight); //網頁正文全文高,包括有滾動條時的未見區域
alert(document.body.scrollTop); //網頁被捲去的Top(滾動條)
alert(document.body.scrollLeft); //網頁被捲去的Left(滾動條)
alert(window.screenTop); //瀏覽器距離Top
alert(window.screenLeft); //瀏覽器距離Left
alert(window.screen.height); //屏幕分辨率的高
alert(window.screen.width); //屏幕分辨率的寬
alert(window.screen.availHeight); //屏幕可用工作區的高
alert(window.screen.availWidth); //屏幕可用工作區的寬
Jquery:
alert($(window).height()); //瀏覽器當前窗口可視區域高度
alert($(document).height()); //瀏覽器當前窗口文檔的高度
alert($(document.body).height()); //瀏覽器當前窗口文檔body的高度
alert($(document.body).outerHeight(true)); //瀏覽器當前窗口文檔body的總高度 包括border padding margin
alert($(window).width()); //瀏覽器當前窗口可視區域寬度
alert($(document).width()); //瀏覽器當前窗口文檔對象寬度
alert($(document.body).width()); //瀏覽器當前窗口文檔body的寬度
alert($(document.body).outerWidth(true)); //瀏覽器當前窗口文檔body的總寬度 包括border padding margin