[ Nenad Lucic @ 12.05.2004. 13:55 ] @
Ovako:

Imam tabelu relativne širine 60% cijele stranice!

Da li je moguće nekako prikazati trenutnu apsolutnu širinu tabele u pixelima u real time-u, znaci kako se mijenja veličina prozora da se mijenja i vrijednost nekog polja?

Unaprijed hvala!
[ noviKorisnik @ 12.05.2004. 14:50 ] @
Ovako:
- imam ovde parče koda gde još uvek nešto škripi. Naime, pametni IE pri resizeovanju (srpski izraz, jel) prozora okida događaj 2 puta - nije mi jasno iz kog razloga i takođe ne vidim način da to premostim...
Code:
<html>
<head>
<title>table width="60%" border="1" align="center"</title>
</head>
<script>
alertfirsttablewidth = function ()
{
    alert (document.getElementsByTagName ('table') [0].offsetWidth);
}
self.onresize = alertfirsttablewidth;
</script>
<body onload="alertfirsttablewidth ();">
<table width="60%" border="1" align="center">
<tr><td align="center">&middot;</td></tr>
</table>
</body>
</html>
[ Nenad Lucic @ 13.05.2004. 11:21 ] @
ovo tvoje parce koda mi skroz cudno funkcionise! ispocetka pri smanjivanju prozora okida triput, a pri povecanju jedanput, poslije kad se malo "umori" okida stalno dvaput! stvarno cudno!
za moj slucaj meni bi trebalo da se vrijednost prikazuje negdje na stranici bez pojavljivanja alert box-a, i isto tako ako je moguce, a mislim da nije, da se vrijednost mijenja dok ja resajzujem prozor, znaci ne "onresize", nego uvijek da se prikazuje trenutna vrijednost širine prozora!
[ noviKorisnik @ 13.05.2004. 12:33 ] @
Kada umesto alerta menjaš recimo vrednost input polja (ovo je najjednostavnije) - svejedno je okine li to jednom ili triput.

Ako želiš da se promena ne dešava na onresize, ubaci recimo timer koji će se okidati dovoljno često da se beleži svaka izmena. I ovde opet ima jedan problem: kada se radi resize - timer pauzira...

Evo primer
Code:
<html>
<head>
<title>timer is in</title>
</head>
<script>
_inittimer = function ()
{
    myinput = document.getElementsByTagName ('input') [0];
    mytable = document.getElementsByTagName ('table') [0];
    mytimer = self.setInterval (updateinput, 40);
}
updateinput = function ()
{
    myinput.value = mytable.offsetWidth;
    self.resizeBy (-1, 0);
}
</script>
<body onload="_inittimer ()">
<table width="60%" border="1" align="center">
<tr><td align="center"><input readonly size="3" /></td></tr>
</table>
</body>
</html>
[ Nenad Lucic @ 14.05.2004. 15:12 ] @
To je otprilike to!

Hvala puno!

U ovom slucaju mi ne treba ono self.resizeBy, ali mi se bas svidjelo, nisam znao da je i to moguce. stvarno ovaj javascript zna da iznenadi. Jos kad bi neko rješio i ono pauziranje tajmera na resize to bi bilo odlicno!

Još jedno pocetničko pitanje: Kako da napravim da mi input polje bude flat, tj. da se vidi samo broj na stranici, a da ne izgleda kao input polje!

Pozdrav!
[ bzero @ 14.05.2004. 18:43 ] @
Da ti input polje bude "flat", stavi ovako:
Code:

<input type="text" value="nema border" style="border-width: 0" readonly>


s tim sto ako neces da izgleda kao input, najbolje da i ne koristis input, nego npr div.
[ Nenad Lucic @ 15.05.2004. 11:45 ] @
Hvala!