ホームページ >ウェブフロントエンド >htmlチュートリアル >レイヤー位置の問題_html/css_WEB-ITnose

レイヤー位置の問題_html/css_WEB-ITnose

WBOY
WBOYオリジナル
2016-06-21 09:43:49849ブラウズ

この投稿は、u010766076 によって、2013-05-30 23:37:35 に最終編集されました。

JavaScript CSS html

3 スパン A B C、JS を通じて固定位置を設定
ロード時とサイズ変更時に呼び出されるように設定
IE9 を使用。
ページが読み込まれると、スタイルシートの効果のみが表示され、JS には効果がありません。
これはレイアウトに影響しますか? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
初めて見たときは同じように見えても、ブラウザのサイズを調整すると別の見た目に変わるということはありませんか? ? ? ? ? ? ? ?


html
A
B /span>

CSS
#A{
位置: 絶対;
左: 95%;
位置: 絶対;ディスプレイ:インラインブロック;

}
#C{
位置:絶対;

JS
関数ログイン(){
var A= document.getElementById("A");
A.style.left = (document.documentElement.clientWidth-40)+"px"
var B= document.getElementById("B");
B.style.left = (document.documentElement.clientWidth-80)+"px";
var C= document.getElementById("C");
C.style.left = (document.documentElement.clientWidth-120); +"px";
}


window.onload=login;

個人的には、ページの読み込み時に JS スクリプトを有効にするかどうかの問題だと思います。
解決策を探しています


ディスカッション(解決策)に返信します

window.onresize を window.onload 関数の中に置くのが最善です。
window.onload=login;

関数ログイン(){
var A= document.getElementById("A");
A.style.left = (document.documentElement.clientWidth-40)+"px"; B= document.getElementById("B");
B.style.left = (document.documentElement.clientWidth-80)+"px";
var C= document.getElementById("C"); left = (document.documentElement.clientWidth-120)+"px";

window.onresize=login;

暫定的な結論、スクリプトを無効にしましたか?

これは正しい答えです。オプションで設定しようとしましたが、機能しませんでした。

window.onload 関数に window.onresize を入れるのが最善です。
window.onload=login;

関数ログイン(){
var A= document.getElementById("A");
A.style.left = (document.documentElement.clientWidth-40)+"px"; B= document.getElementById("B");
B.style.left = (document.documentElement.clientWidth-80)+"px";
var C= document.getElementById("C"); left = (document.documentElement.clientWidth-120)+"px";

window.onresize=login;
}



ここでの問題は、最初に CSS の効果があるだけで、何もないことです。ログイン機能の影響です。

テストしたところ、関数に書き込んだときに呼び出されないことがわかりました。呼び出されたとしても、ロード時に一度だけ呼び出されます

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。