chetidolanimale
10-02-2005, 14:33
ciao
ho un problema con un javascript, che in pratica dovrebbe cambiare ad intervalli fissi la trasparenza a un oggetto.Con firefox funziona correttamente(ovviamente settando la proprietà specifica per firefox), ma con IE non vuole funzionare e non capisco il perchè.Qualcuno può darmi una mano?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
</head>
<body>
<p id="prova" style="background-color:black;color:white" onClick="variaTras(90,true);">
ciao<br>oi<br>ld<br>ek
</p>
<script type="text/javascript"><!--
function variaTras(pa,fla) {//pa è un intero da -10 a 110 e rappresenta la percentuale di trasparenza da impostare; fla è un boolean, quando è a true la funzione abbassa la trasparenza,quando è a false la alza.
if (pa>=0 && pa<=100) {
document.getElementById("prova").style.filter = "alpha(opacity:"+pa+")"; //questa è l'istruzione che dovrebbe impostare la trasparenza in IE.
pa =fla?pa-10: pa+10 ; //se fla dice che stiamo abbassando la trasparenza(ossia è true), pa viene decrementato,se fla dice che stiamo alzando la trasparenza, pa viene incrementato.
window.setTimeout("variaTras("+pa+","+fla+")", 300); //questa istruzione richiama ricorsivamente la funzione principale con il nuovo valore di trasparenza e l'indicazione che deve continuare a fare quello che ha appena fatto
}
else //se siamo qui,allora la trasparenza è arrivata a 0 o a 100, quindi dobbiamo invertire l'operazione da fare
{pa=fla?pa+20: pa-20; //se stavamo abbassando la traspa,allora pa era a -10, quindi lo portiamo a 10, se stavamo alzando la traspa, allora pa era a 110 e la portiamo a 90.
fla= !fla; //inverto l'operazione da fare.
variaTras(pa,fla);chiamo la funzione, che se fino ad ora stava abbassando, adesso alzerà la traspa,e viceversa.}}
//--></script>
</body>
</html>
ho un problema con un javascript, che in pratica dovrebbe cambiare ad intervalli fissi la trasparenza a un oggetto.Con firefox funziona correttamente(ovviamente settando la proprietà specifica per firefox), ma con IE non vuole funzionare e non capisco il perchè.Qualcuno può darmi una mano?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
</head>
<body>
<p id="prova" style="background-color:black;color:white" onClick="variaTras(90,true);">
ciao<br>oi<br>ld<br>ek
</p>
<script type="text/javascript"><!--
function variaTras(pa,fla) {//pa è un intero da -10 a 110 e rappresenta la percentuale di trasparenza da impostare; fla è un boolean, quando è a true la funzione abbassa la trasparenza,quando è a false la alza.
if (pa>=0 && pa<=100) {
document.getElementById("prova").style.filter = "alpha(opacity:"+pa+")"; //questa è l'istruzione che dovrebbe impostare la trasparenza in IE.
pa =fla?pa-10: pa+10 ; //se fla dice che stiamo abbassando la trasparenza(ossia è true), pa viene decrementato,se fla dice che stiamo alzando la trasparenza, pa viene incrementato.
window.setTimeout("variaTras("+pa+","+fla+")", 300); //questa istruzione richiama ricorsivamente la funzione principale con il nuovo valore di trasparenza e l'indicazione che deve continuare a fare quello che ha appena fatto
}
else //se siamo qui,allora la trasparenza è arrivata a 0 o a 100, quindi dobbiamo invertire l'operazione da fare
{pa=fla?pa+20: pa-20; //se stavamo abbassando la traspa,allora pa era a -10, quindi lo portiamo a 10, se stavamo alzando la traspa, allora pa era a 110 e la portiamo a 90.
fla= !fla; //inverto l'operazione da fare.
variaTras(pa,fla);chiamo la funzione, che se fino ad ora stava abbassando, adesso alzerà la traspa,e viceversa.}}
//--></script>
</body>
</html>