salve, premetto di essere un niubbo completo di JS: ho letteralmente iniziato ieri, anche se avendo esperienza di programmazione e scripting almeno qualcosa ci capisco.
vi spiego qual è il mio problema: ho una tabella con all'interno un'immagine, e vorrei che questa prendesse le dimensioni della cella in cui è contenuta, che sarebbe equivalente a metà tabella. dato che voglio un layout completamente fluido, l'unica è lavorare con le percentuali: in questa maniera, avevo raggiunto esattamente il risultato desiderato in CSS, solo che non era cross-browser. sotto IE6, infatti le dimensioni venivano applicate in maniera sbagliata, quindi mi è stato detto che per farlo funzionare anche sotto quella ciofeca l'unica è il javascript...
dopo un po' di ricerche ho trovato uno script già pronto, ma solo per ridimensionare un'immagine in maniera fissa, quindi ho cercato di adattarlo alle mie esigenze:
codice:
<head>
...
<script type="text/javascript>
function resize(which, cont) {
var elem = document.getElementById(which);
var csize = document.getElementById(cont);
var dwidth = csize.width/2;
if (elem == undefined || elem == null) return false;
var max = elem.width;
if (elem.width > dwidth) elem.width = dwidth;
else elem.width = max;
}
</script>
</head>
<body>
...
[img]..\immagini\immagine.jpg[/img]
...
</body>
ricapitolando, l'onload dovrebbe passare alla funzione l'ID dell'immagine e del contenitore; visto però che le celle, usando i valori percentuali, non vogliono saperne di mantenere una dimensione fissa, ho dovuto passargli come parametro la tabella stessa e dividerne la larghezza per due, in modo da ottenere la dimensione desiderata, solo che... non funziona niente
qualcuno sarebbe così gentile da dirmi, con tanta pazienza, dove ho sbagliato e come? o ancora se esiste un modo migliore di ricavare la dimensione desiderata? vi ringrazio anticipatamente per la risposta!