style.leftとoffset Left、style.widthとoffset Widthの違い
1315 ワード
1.style.leftとoffset Leftの違い style.leftは28 pxなどの文字列を返します.offset Leftは数値28を返します.取得した値を計算する必要があるなら、offset Leftを使ったほうが便利です. style.leftは読み書きで、offset Leftは読み取り専用ですので、divの位置を変えるには、style.leftを変更するしかありません. style.leftの値は事前に定義する必要があります.そうでないと取り込まれた値は空です.また、htmlで定義しなければならないので、cssで定義したら、style.leftの値はまだ空です.これは私が最初に出会った問題です.いつもstyle.leftの値が取れません.offset Leftは、divの位置を事前に定義する必要がないということです. 2.js Html元素の実際の幅の高さを取得する方法
一つ目の場合は、幅の高さはすべて様式表に書いてあります.例えば、氡div 1{width:120 px;}です.この場合は、幅がとれず、幅が
offsetLeft
が取得したのは、親オブジェクトの左の距離marginleft
に対して、位置属性を持つ親オブジェクトに対して左の距離を取得または設定した場合、親divのpositionがrelativeと定義され、サブdivのpositionがabsoluteと定義されている場合、サブdivのstyle.left
の値は親divに対しての値であり、これは同じである.違いは:一つ目の場合は、幅の高さはすべて様式表に書いてあります.例えば、氡div 1{width:120 px;}です.この場合は、幅がとれず、幅が
#div1.offsetWidth
を通して得られるのです.幅の2番目の場合は幅と高さは行の中に書いてあります.例えば、style="width:120 px;"この場合は上記2つの方法で幅が取れます.リボンは、id.offset Widthとid.offset Heightはスタイルを無視して、表に書くか、行に書くか、要素の幅と高さを得るためには、この2つの属性を使った方がいいです.行の中に書いてある属性がないと、id.style.arrでは取得できません. var o = document.getElementById("view");
var h = o.offsetHeight; //
var w = o.offsetWidth; //