2011-08-04 11 views
1

私は650ピクセルの高さの.swfナビゲーションカルーセルを持っています。下部200ピクセルはカルーセルの反射のために予約されています。反射は非常に微妙で重要な情報とはみなされないため、ウィンドウが上部450ピクセルに収まるだけの高さで反射は反映されない場合は、垂直スクロールバーを削除したいと考えています。Flashに負のボトムマージンを強制する

margin-bottom: -200pxをフラッシュ<object>に設定してこれを実行しようとしましたが、コンテナの高さを200ピクセルに縮めて、ページの下部より前に背景パターンをカットしました。 Flash自体はまだ650ピクセルを占めています。

javascriptを使用してスクロールバーを非表示にしたり表示したりする以外に、これに「適切な」修正がいくつかありますか?

答えて

0

あなたは、CSSを使用して試みることができる:

#idOfElement { 
    overflow-x: hidden; 
    overflow-y: hidden; 
} 

私の謝罪は、私はあなたが要素からスクロールバーを削除しようとしていたと思いました。 body {overflow: hidden}

要素の内容がコンテナより大きい場合は、overflow: hiddenを実行したときに要素の部分のみが途切れてしまいますので、それ。ウィンドウの高さが450pxに達したとき

オーバーフローを非表示にするには、これを試してみてください:

window.onresize = function() { 
    var height = window.innerHeight; 
    if (height > 450) { 
     document.body.style.overflow = "hidden"; 
    } 
} 

あなたはこれで持っていることがあり、問題が一部のブラウザでは、サイズ変更時にサイズを変更するイベントの多くを解雇したいということで、代わりの1の後にパフォーマンスに影響を与える可能性があります。 Paul Irishはこれを軽減するブログ記事をhttp://paulirish.com/2009/throttled-smartresize-jquery-event-handler/に書きました。jQueryの.resize()関数はこれを自動的に行うと思います。

+0

回答ありがとうございます。残念ながら、オーバーフローを隠すと、反射部分が全く表示されません。スペースがあればそれを表示したいが、スクロールバーは必要ない。 – Kaivosukeltaja

+0

ウィンドウが表示できるほど高いときでも、反射をカットしていますか? –

関連する問題