1
function allowscroll()
{
if (screen.width<1200){document.getElementById('html').style.cssText='overflow-x: scroll !important;';};
}

<body onLoad="allowscroll();">

こんにちは、上記のコードはどの要素でも機能します。たとえば、「ラッパー」の代わりに「html」をサブスクライブしますが、htmlに適用されたcssを編集するにはどうすればよいですか?基本的に、overflow:hiddenがie7に継承されていないため、大きな空の右マージンと水平スクロールバー(ie7、つまり8の互換性のみ)が発生するため、cssを次のように設定します。

html {overflow-x:hidden;}

これは、グラフィックの可視性のオーバーフローなど、必要な機能を失うことなく修正する唯一の方法です。

これはすべて問題ありませんが、画面の解像度が低いと、ページ自体をすべて表示するためだけに水平スクロールが必要になるため、これらのユーザーの水平スクロールバーを復元し、発生したユーザーの右マージンを大きく復元しようとしています。たとえば、ie7 1024 x 768-私はそれと一緒に暮らすことができます(誰かがsuperdupaソリューションを持っている場合を除きます)。

document.getElementById('html').style.cssText='overflow-x: scroll !important;';

したがって、上記のコードは任意の要素のCSSを編集するために機能しますが、htmlのCSSは機能しません。

私も試しました:

function allowscroll()
{
if (screen.width<1200){document.getElementByName('html').style.cssText='overflow-x: scroll !important;';};
}

function allowscroll()
{
if (screen.width<1200){window.style.cssText='overflow-x: scroll !important;';};
}

私は本当に助けていただければ幸いです-それが解決策を見るのに役立つなら、これが適用されるリンクは次のとおりです:喜びのデザイン、基本的に、その取り出し方:

html {overflow-x:hidden;}

画面解像度が低い場合はCSSから..

どうもありがとう

意思

4

3 に答える 3

2

試すdocument.getElementsByTagName("html")[0]

getElementsByTagNameが配列を返すので、答えを編集したことに注意してください。その配列の最初の要素が必要です。

于 2011-02-03T16:37:28.363 に答える
2

:を使用するだけdocumentElementです

document.documentElement

それは完全なブラウザサポートを持っています。

于 2011-02-03T16:43:23.370 に答える
2

html要素を取得するには、さまざまな方法があります。

document.documentElement
document.getElementsByTagName('html')[0]
document.body.parentNode

しかし、正直なところ、もっと良い方法があるはずです。ここで何が起こったのかを正確に追跡する時間は今のところありませんが、私が言えるposition:relativeことから、オーバーフローが必要なものに追加すると役立つ場合があります。

于 2011-02-03T16:47:18.790 に答える