1. ホーム
  2. jquery

[解決済み] マイナススクロールバーなしで画面幅を確保するには?

2022-07-31 04:02:39

質問

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

Firebugはbodyの幅が1280pxであると教えてくれました。

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

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

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

これらはすべて 1263px を返しますが、これは私が探している値です。

しかし、他のすべてのブラウザは私に 1280px .

縦スクロールバーなしで(!)フルスクリーン幅を得るためのクロスブラウザの方法はありますか?

どのように解決するのですか?

.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

<サブ P.S: を使用することに注意してください。 scrollWidth を確実に使用するには、要素が水平方向にオーバーフローしないようにする必要があります。

jsBinデモ


また .innerWidth() でも良いのですが、この のみで機能します。 body 要素にのみ作用します。

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