行や列が追加または削除されると、明らかにサイズが大きくなったり小さくなったりするテーブルを含む DIV があります。これが発生した場合、それに応じてコンテナー DIV のサイズを変更する必要があります。ブラウザーのウィンドウがテーブル全体を表示するのに十分な大きさでない場合、DIV に必要なスクロール バーを含める必要があります。そうでない場合、スクロール バーは表示されません。簡単ですね。
IE 10 では、すべてが期待どおりに機能しますが、Chrome と Safari 2 では、不要な場合でも醜いスクロール バーが表示されます...少なくとも、DIV オブジェクトのプロパティを調べると、これがわかりました。
this.offsetWidth = 642
this.scrollWidth = 638
水平スクロールバーは必要ありませんよね?
this.offsetHeight = 420
this.scrollHeight = 416
垂直スクロールバーは必要ありませんよね?
それでも、両方のスクロールバーが表示されます...ブラウザのウィンドウを最小化してから元に戻すと、ブラウザが後で必要ではないことに気付いたかのように、両方のスクロールバーが消えます。別のアプリケーションに切り替えてからブラウザに戻った場合や、ページの入力フィールドをクリックした場合も同じことが起こります。したがって、これは明らかにバグですが、回避策を見つけることができていません。
私は次のことを試みました:
this.style.overflow = "hidden";
this.style.left = q/2+"px";
this.style.width = v+"px";
this.style.top = p+"px";
this.style.height = i+"px";
this.style.overflow = "auto";
しかし、私はまだ同じ動作をします。