3

Bootstrap の折りたたみのコードでは、hide()メソッドに次の行が表示されます。

this.$element[dimension](this.$element[dimension]())[0].offsetHeight

.offsetHeight何にも割り当てられていないため、副作用がない限り、最後のポイントが何であるかわかりません。副作用はありますか?

4

2 に答える 2

4

古いバージョンの IE などの一部の古いブラウザーでは、いくつかのアクションを実行した後、リフロー (プレゼンテーションの再レンダリング) が行われないことがあるという問題がありました。

などのいくつかのプロパティをわずかにクエリするoffsetHeightと、DOM は画面上のオブジェクトを再計算して再描画する必要があります。

そのため、副作用として画面のリフロー (再描画) が強制されます。風変わりですが、古いブラウザの古いトリックです。

Google Chrome の古いバージョンがないと正常に動作しなかった場合の解決策として、これが提案されている質問があります。

于 2015-06-26T16:39:05.333 に答える
2

これは、ブートストラップチームからの有益なコメントです。

if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
于 2015-06-26T16:43:13.997 に答える