Autor Zpráva
FantomX1
Profil
Skusam na svoje stranke vyrobit vertikalne sa pohybujuci text ale chcem ho dat pohybovat sa len do urcitej miery. Rad by som zistil jeho velkost pomocou stylov v javascripte aby som mohol zistit offset prvku teda cast, ktora vycnieva, aby text nazachadzal az pod koniec obrazovky a aby sa tak scrollbbar nemusel rolovat. Ale zatial ani jedna z moznosti co som skusal mi nevratila velkost textu.

Skusal som to pomocou
var objekt=document.getElementById('text').style;
Moznosti, ktore som skusil:

text=objekt.fontSize;

text=objekt.fontHeight;

text=objekt.Height;

text=document.style.fontSize;

text=document.getElementByTagName('body').style.fontSize;

ale ani jedna z tychto veci mi nevratila velkost prvku div-u s id=text, myslim ze by to vratilo velkost prvku vtedy, keby mal v css napisane height: 20px ale to ja nechcem, ja chcem aby mal ten div vysku automaticky podla vysky textu a preto tam vysku nedavam.

Mohli by ste mi teda niekto poradit ako zistit offset_y nejakeho prvku?
FantomX1
Profil
Dobre, uz som na to prisiel. Hladal som na webe a nasiel som to prave tuDOM Elements Interface. Vysku prvku zistite pomocou clientHeight.
Leo
Profil
"clientHeight"

Ve vsech prohlizecich? Leo
La_ToRaNTe
Profil
Já mám ve FF takovy plugin a staci kliknout a ukaze mi velikosti vsech prvků ...
Peta
Profil *
La_ToRaNTe: takovy plug-in jmenujici se WebDeveloper z https://addons.update.mozilla.org/extensions/
:)
Sikovna vecicka :) FF je cely sikovny na tvorbu www :)
Oswald
Profil
ale ani jedna z tychto veci mi nevratila velkost prvku div-u s id=text, myslim ze by to vratilo velkost prvku vtedy, keby mal v css napisane height: 20px

To proto, že objekt style odráží řádkové styly, takže jeho čtení a zápis je ekvivalentní k čtení a zápisu atributu style HTML prvků. V Gecku, Opeře, ... funguje medoda getComputedStyle(prvek, psedotrida).cssVlastnost, která vrací skutečné vypočítané hodnoty. V IE je metoda (oprava: objekt) element.currentStyle.cssVlastnost, ale ta vrátí nějakou rozumnou hodnotu, jenom pokud je někde v kaskádě explicitně určená (jak jsem tak vypozoroval). Napsal jsem si na to jednoduchou funkci, lze jí předat buď id elementu, nebo přímo element:


function getCCss(el, prop)
{
if (typeof el == 'string')
{
if(!document.getElementById) return false;
el = document.getElementById(el);
if (!el) return false;
}

if (document.defaultView)
return getComputedStyle(el, null)[prop];
else if (el.currentStyle) // MSIE
return el.currentStyle[prop];

return false;
}

// pouziti:
alert(getCCss(document.body, 'color'));
Toto téma je uzamčeno. Odpověď nelze zaslat.

0