ugrás a tartalomhoz

offsetWidth értéke nulla

fERI · 2008. Dec. 1. (H), 02.20
Sziasztok!

Javascript segítségével szeretnék egy div-et a window közepére igazítani. A probléma az, hogy a offsetWidth érték szélességre a div tekintetében nullát ad vissza (természetesen a magasságra is ugyan ez az eredmény). A prototype.js használom fel az elem elérésére. Így a kód:
$('a_neve_a_divnek').offsetWidth
Szóval ez nullát ad vissza. Amennyiben a style tulajdonságból szeretném elérni a div szélességét, akkor pedig nem ad vissza semmit (még azt sem, hogy undefined).

Van valakinek ötlete?

Nem értem, hogy miért nem megy...

Köszönöm a segítséget.

Üdv.
fERI
 
2

simán width()?

C_hris · 2008. Dec. 1. (H), 18.11
Azthiszem JQuerynél simán úgy kapod meg, hogy $('a_neve_a_divnek').width();
A magasságot pedig: $('a_neve_a_divnek').height(); nem tudom prototypenál is működik e.
1

firebug?

zzrek · 2008. Dec. 1. (H), 10.52
Használsz firebugot? Rákattintasz az elemre és megnézed a tulajdonságait.

Tippem:
- akkor kéred le a szélességet, amikor még nincs is beállítva, vagy még nincs benne semmi
- több azonos id-jű dived van
- egy ilyen érdekes struktúrád van:

<div style="width:0px">
<div id="a_neve_a_divnek">papapapa</div>
</div>
Több tippem most nincs, több infó kéne.
3

Ha még nem oldódott meg

lionel87 · 2008. Dec. 5. (P), 13.23
Ha még nem oldódott meg a probléma, próbáld ki szerintem először prototype nélkül:

document.getElementById('a_neve_a_divnek').offsetWidth

Ha ez sem megy, akkor valószínűleg azért, mert olyankor próbálod lefuttatni a kódot, amikor még nem létezik az objektum.

Ekkor valami hasonlót tudsz csinálni:
<script>
function init()
{
  alert(document.getElementById('a_neve_a_divnek').offsetWidth);
}
window.onload = init;
</script>