4

子DIVがたくさんあるDIVがあります。私が欲しいのはFirefoxのタブに似ています。開いているタブが多すぎるか、メインのDIV幅が小さすぎると、インターフェイスはオーバーフローを検出し、右側にすべての非表示のタブを一覧表示するボタンを表示します。問題は、どこから助けを求め始めればよいのかわからないことです。

4

3 に答える 3

5

メインのDIVはに設定されていoverflow:hiddenますか?

scrollLeftその場合は、プロパティをインクリメントしてからクエリを実行し、プロパティが変更されているかどうかを確認することで、オーバーフローの必要性をテストできます。

function containsTooMuch(el) {
    var original = el.scrollLeft++;
    return el.scrollLeft-- > original;
}
于 2009-11-22T13:57:48.103 に答える
4

グーグルはこれを明らかにします:

http://knitinr.blogspot.com/2008/08/javascript-warn-if-overflow.html

見栄えが良く、フレームワークに依存しません。

しかし、おそらく誰かがより少ないコードで動作するソリューションを思い付くでしょう。

ああ、どの人気のあるコーディングコミュニティサイトがGoogeの結果を台無しにしているのか推測してください

javascript detect overflow 

:)

于 2009-11-22T13:47:48.080 に答える
2

私のアプローチは、新しいDIVが追加される方法から作業することです。これが発生するイベントが何であれ、さまざまなDIVのサイズをチェックして要件を満たしていることを確認するスクリプトを実行するハンドラーをドキュメントに追加します。それらが大きすぎる(または多すぎる)場合は、それらの一部を非表示にして、表示ロジックを使用してボタンを追加します。

于 2009-11-22T13:50:12.410 に答える