webForumDet fria alternativet

Fadescript

4 svar · 314 visningar · startad av Jesper T

Jesper TMedlem sedan nov. 20017 144 inlägg
#1

Har försökt att trixa med jojoxx fadescript för att göra följande.
Onmouseover = blända upp till 100%
Onmouseout = blända ner till 30%

 //fades layer in
ie5  = (document.all && document.getElementById);
ns6 = (!document.all && document.getElementById);

function fadeIn(i,j,id){
		if(ie5) document.getElementById(id).filters.alpha.opacity = i;
		if(ns6) document.getElementById(id).style.MozOpacity = i/100;
        i++;
        if (i<j) setTimeout("fadeIn("+i+","+j+",'"+id+"')",0);
};

function fadeOut(i,j,id){
		if(ie5) document.getElementById(id).filters.alpha.opacity = i;
		if(ns6) document.getElementById(id).style.MozOpacity = i/100;
        i--;
        if (i>j) setTimeout("fadeOut("+i+","+j+",'"+id+"')", 0);
};

<div id="myDiv1" class="blended-div" onMouseOver="fadeIn(30,100,this.id)" onMouseOut="fadeOut(100,30,this.id)">
Detta är en rolig text.
</div>

Men det "flipprar" lite om man är för snabb med musen. Går det att fixa?

Jesper TMedlem sedan nov. 20017 144 inlägg
#2

*Puff* :)

JojoxxMedlem sedan juni 20004 308 inlägg
#3

Try this

var ie5  = (document.all && document.getElementById);
var ns6 = (!document.all && document.getElementById);
var fadelevel=new Object(); var fadetimer=new Object();

function fadeIn(j,id){
	if(fadetimer[id]) clearTimeout(fadetimer[id]);
	fadelevel[id]=(fadelevel[id])?fadelevel[id]:30;
	if(ie5) document.getElementById(id).style.filter="alpha(opacity="+fadelevel[id]+")";
	if(ns6) document.getElementById(id).style.MozOpacity = fadelevel[id]/100;
	fadelevel[id]++;
	if (fadelevel[id]<j) fadetimer[id]=setTimeout("fadeIn("+j+",'"+id+"')",0);
};

function fadeOut(j,id){
	if(fadetimer[id]) clearTimeout(fadetimer[id]);
	fadelevel[id]=(fadelevel[id])?fadelevel[id]:30;
	if(ie5) document.getElementById(id).style.filter="alpha(opacity="+fadelevel[id]+")";
	if(ns6) document.getElementById(id).style.MozOpacity = fadelevel[id]/100;
	fadelevel[id]--;
	if (fadelevel[id]>j) fadetimer[id]=setTimeout("fadeOut("+j+",'"+id+"')", 0);
};
Jesper TMedlem sedan nov. 20017 144 inlägg
#4

Snyggt,
följdfråga: Kan man få den att fada fortare?

JojoxxMedlem sedan juni 20004 308 inlägg
#5

Ändra "++" till "+=2" (öka 2 om du vill) samt ändra "--" till "-=2".

121 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
118 ms — hämta tråd, inlägg och bilagor (db)