スクロールバーなしで画面の幅を取得するにはどうすればいいですか? 質問する

スクロールバーなしで画面の幅を取得するにはどうすればいいですか? 質問する

要素があり、垂直スクロールバーなしの幅が必要です。

Firebug によると、本文の幅は 1280 ピクセルです。

どちらも Firefox では問題なく動作します:

console.log($('.element').outerWidth() );
console.log($('.element').outerWidth(true) );

$detour = $('.child-of-element').offsetParent();
console.log( $detour.innerWidth() );

全員が戻ってくる1263ピクセル、これが私が探している値です。

しかし、他のブラウザはすべて1280ピクセル

垂直スクロールバーなしでフルスクリーン幅を実現するクロスブラウザの方法はありますか?

ベストアンサー1

.prop("clientWidth")そして.prop("scrollWidth")

var actualInnerWidth = $("body").prop("clientWidth"); // El. width minus scrollbar width
var actualInnerWidth = $("body").prop("scrollWidth"); // El. width minus scrollbar width

JavaScript:

var actualInnerWidth = document.body.clientWidth;     // El. width minus scrollbar width
var actualInnerWidth = document.body.scrollWidth;     // El. width minus scrollbar width

追伸:確実に使用するには、scrollWidth要素が水平方向にオーバーフローしないように注意してください。

jsBin デモ


.innerWidth()これを使うこともできますbody要素にのみ作用します

var innerWidth = $('body').innerWidth(); // Width PX minus scrollbar 

おすすめ記事