0

私が取り組んでいるコードはこれです-

var winW;
if (document.body && document.body.offsetWidth) {
 winW = document.body.offsetWidth;
}
if (document.compatMode=='CSS1Compat' &&
    document.documentElement &&
    document.documentElement.offsetWidth ) {
 winW = document.documentElement.offsetWidth;
}
if (window.innerWidth && window.innerHeight) {
 winW = window.innerWidth;
}
if (winW = 1265) {
function setPosition()
{
document.getElementById("wblogo").style.left="1050px";
}
}

タグ 内のonloadイベントで使用すると、コードは完全に機能します。 しかし、ページがロードされているときにこれを使用したいと思います。だから私は次のコードを使用しました-body

var winW;
if (document.body && document.body.offsetWidth) {
 winW = document.body.offsetWidth;
}
if (document.compatMode=='CSS1Compat' &&
    document.documentElement &&
    document.documentElement.offsetWidth ) {
 winW = document.documentElement.offsetWidth;
}
if (window.innerWidth && window.innerHeight) {
 winW = window.innerWidth;
}
if (winW = 1265) {
document.getElementById("wblogo").style.left="1050px";
}

しかし、このコードは機能しません。助けてください。

4

1 に答える 1

3

私の推測では、を削除したときに、ドキュメントのセクションにonloadスクリプトを残したと思います。head処理しようとしている要素(document.bodywblogo要素)はまだ存在しないため、コードはそれらと相互作用できません。を使用していたときonload、コードはすぐには実行されませんでしたが、代わりに、すべての画像などが読み込まれた後のページ読み込みサイクルの非常に遅い段階で、要素が存在していました。

代わりに、ドキュメントの最後、終了タグの直前のタグにコードを配置scriptます。そうすれば、操作しようとしている要素が存在します。</body>

もっと:

于 2012-12-16T08:33:12.917 に答える