PDA

View Full Version : [javascript] proprietà non valida in explorer


shinya
01-04-2006, 17:22
Ciao a tutti,
sto giocando un pò con javascript, e ho scritto una funzioncina che fa il fade in e out di un testo. Con firefox è ok, ma explorer lo script debugger mi da un "Invalid property value".


<html>
<head>
<style type="text/css">
#fade_text { color: rgb(0, 0, 0); }
</style>
<script type="text/javascript">
<!--
var c = 0;
var state = "out";

function fade() {
if (state == "out") {
document.getElementById("fade_text").style.color="rgb("+c+","+c+","+c+");";
c = c + 5;
setTimeout("fade()", 10);
if (c == 255) { state = "in"; }
} else if (state == "in") {
document.getElementById("fade_text").style.color="rgb("+c+","+c+","+c+");";
c = c - 5;
setTimeout("fade()", 10);
if (c == 0) { state = "out"; }
}
}
//-->
</script>
</head>

<body>
<div class="page">
<span id="fade_text">Fading...</span>
<button onClick="fade()">Fade now</button>
</div>
</body>
</html>


Questo è il codice...cosa manca perchè funzioni anche su quello schifo di explorer? Non mi sembra codice fantascientifico...

andbin
01-04-2006, 18:01
document.getElementById("fade_text").style.color="rgb("+c+","+c+","+c+");";
^
Devi togliere il ; dopo la parentesi tonda di chiusura del rgb. È quello, infatti, che infastidisce IE.

Nota comunque che il tuo codice, per quanto riguarda Internet Explorer, funziona con IE 5 o superiore, in quanto nelle versioni precedenti il metodo getElementById non è disponibile.

shinya
01-04-2006, 18:14
Era il punto e virgola :/
Grazie mille per l'aiuto, non ci sarei mai arrivato!