Som du måske kan se, er mit script nok lidt overkill, hvis det kun er et enkelt element, der skal fades på, til gengæld kan man så også bruge fade-tingen til andre ting, så umiddelbart vil jeg bare anbefale, at du bare tager scriptet !-)
Tag koden fra hjemmesiden, den dur også i en stribe andre browsere:
<script type="text/javascript">
var OpC = new Array(); var ie,moz,css3; function startOpChange(elm,end,tim){ ie = !!elm.filters; moz = elm.style.MozOpacity != undefined; css3 = elm.style.opacity != undefined; if (!ie && !moz && !css3)return; var idx = OpC.length; for(var i=0;idx>i;i++){ if(OpC[i][0]==elm){ clearInterval(OpC[i][4]); idx = i; break; } OpC[idx] = new Array(); } if(idx==0)OpC[idx] = new Array();
if(ie)actOp=elm.filters.alpha.opacity; else if(css3)actOp=(elm.style.opacity*100); else actOp=(elm.style.MozOpacity*100); if (actOp!=end){ OpC[idx][0]=elm; OpC[idx][1]=actOp; OpC[idx][2]=end; OpC[idx][3]=(end>actOp)?1:-1; var delayTime = Math.floor((tim*1000)/Math.abs((actOp-end))); OpC[idx][4]=setInterval("opChange("+idx+")",delayTime); } }
function opChange(idx){ OpC[idx][1]+=OpC[idx][3]; if (ie)OpC[idx][0].filters.alpha.opacity=OpC[idx][1]; else if(css3)OpC[idx][0].style.opacity=Math.min(0.99,OpC[idx][1]/100); else OpC[idx][0].style.MozOpacity=Math.min(0.99,OpC[idx][1]/100); if (OpC[idx][1]==OpC[idx][2]){ clearInterval(OpC[idx][4]); return; } } window.onload = function(){startOpChange(document.getElementById("fisk"),100,3);}; </script>
<body> <div id="fisk" style="float:left;width:250px;height:250px;filter:alpha(opacity=0);-moz-opacity:0;">Denne tekst fader ind</div>
-- og grunden til, at det ikke virker i andre browsere end IE er, at din konstruktion kræver, at document.all findes, hvilket den altså kun gør i IE (og Opera !-)
Nej, men man kan på lignende måde ændre color på elementet ...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.