http://www.volny.cz/peter.mlich/www.htm#mssub8
na tejto adrese som od Vás dostal tip na vysúvacie menu s efektami... stiahol som si stránku a snažím sa rozlúsknuť js kód, no nedarí sa mi to...:(
Tu je celý js kód, neviem ako ho upraviť aby sa použil efekt opacity2....: ďakujem...
function objGet(x)
{var d=document;x=d.getElementById?d.getElementById(x):d.all?d.all[x]:d[x]? d[x]:d.layers?d.layers[x]:null;return x;}
function objd(x,z) {objGet(x).style.display=z?"block":"none";}
function objv(x,z) {objGet(x).style.visibility=z?"visible":"hidden";}
var funkce=0;
var numMenu=3;
var idecka=new Array(numMenu); //[step],[show/hide],[width],[height]
var steps=11;
var effectline=[0,0];
var line2=[
[0,10,20,30,40,50,60,70,80,90,100], //linear n*10
[0, 2,10,21,35,50,65,79,90,98,100], //cosinus 0.5-cos(18*n)/2
[0, 2, 6,12,20,30,42,56,72,90,100], //parabolic n/2(n+1)*2
[0,29,46,59,68,76,82,88,93,97,100], //logaritm ln(n+1)*1.15
[0, 3, 7,12,18,24,32,41,54,71,100] //logaritm reverse
];
var timerID=new Array(numMenu);
var timerSpeed=80;
function nextStep(e,i,n)
{var j;
j=idecka[i][0];
j+=n;
j=j<steps?(j<0?0:j):steps-1;
idecka[i][0]=j;
idecka[i][1]=(j>0 && j<steps)?1:0;
return line2[effectline[e]][j];
}
function hodinyStop(i) {clearTimeout(timerID[i])}
function hodinyStart(t,i){if (idecka[i][1]) {t=(t?"ukaz":"skryj")+"("+i+")";timerID[i]=setTimeout(t,timerSpeed)}}
function ukaz(i) {
hodinyStop(i);
var j,k,q;
q="sub"+i;
if (funkce>1) {j=nextStep(1,i,1);}
switch (funkce)
{
case 0: objd(q,1);
break;
case 1: changeOpac(q,100);
objd(q,1);
idecka[i][1]=0;
idecka[i][0]=steps-1;
break;
case 2: changeOpac(q,j);
break;
case 3: changelineHeight(q,j);
break;
case 4: changebottom(q,i,j);
break;
case 5: changefontSize(q,j);
changelineHeight(q,j);
break;
case 6: changeclip1(q,i,j);
objflow(q,"hidden");
break;
case 7: changeclip2(q,i,j);
objflow(q,"hidden");
break;
case 8: changeclip3(q,i,j);
objflow(q,"hidden");
break;
}
if (funkce>1) {objd(q,(j>0?1:0));hodinyStart(1,i);}
}
function skryj(i){
hodinyStop(i);
var j,k,q;
q="sub"+i;
if (funkce>0) {j=nextStep(1,i,-1);}
switch (funkce)
{
case 0: objd(q,0);
break;
case 1: changeOpac(q,j);
break;
case 2: changeOpac(q,j);
break;
case 3: changelineHeight(q,j);
break;
case 4: changebottom(q,i,j);
break;
case 5: changefontSize(q,j);
changelineHeight(q,j);
break;
case 6: changeclip1(q,i,j);
objflow(q,"hidden");
break;
case 7: changeclip2(q,i,j);
objflow(q,"hidden");
break;
case 8: changeclip3(q,i,j);
objflow(q,"hidden");
break;
}
if (funkce>0) {objd(q,(j>0?1:0));hodinyStart(0,i);}
}
function objBottom(x,z) {objGet(x).style.bottom=z;}
function objHeight(x,z) {objGet(x).style.height=z;}
function objlineHeight(x,z){objGet(x).style.lineHeight=z;}
function objfontSize(x,z){objGet(x).style.fontSize=z;}
function objclip(x,z) {objGet(x).style.clip=z;}
function objflow(x,z) {objGet(x).style.overflow=z;}
function changeOpac(id,opacity)
{var s,o;
s=objGet(id).style;
o=opacity;
o=0.01*(o==100?99.9:o); //FF bug 99.9
s.opacity = o;
s.MozOpacity = o;
s.KHTMLOpacity = o;
s.filter = "alpha(opacity=" +opacity+ ")";
}
function changeHeight(id,i,height)
{objHeight(id,parseInt(height/100*idecka[i][3])+"px");}
function changelineHeight(id,height)
{objlineHeight(id,height/100*1.25+"em");}
function changefontSize(id,height)
{objfontSize(id,height+"%");}
function changebottom(id,i,height)
{var x,y;
y=idecka[i][3];
x=height/100*y;
objBottom(id,parseInt(4-x*1.1)+"px");
objclip(id,'rect('+parseInt((y-x)*1.1)+'px auto auto 0px)');
objflow(id,"hidden");
}
function changeclip1(id,i,height)
{objclip(id,'rect(0px auto '+parseInt(height/100*idecka[i][3]*1.1)+'px 0px)');};
function changeclip2(id,i,size)
{objclip(id,'rect(0px '+parseInt(size/100*idecka[i][2]*1.1)+'px auto 0px)');};
function changeclip3(id,i,size)
{objclip(id,'rect(0px '+parseInt(size/100*idecka[i][2]*1.1)+'px '+parseInt(size/100*idecka[i][3]*1.1)+'px 0px)');};
function reseteffect()
{var i,q,o;
for(i=0;i<numMenu;i++)
{
q="sub"+i;
changeOpac(q,100);
objHeight(q,"auto");
changefontSize(q,100);
changelineHeight(q,100);
objBottom(q,"auto");
objclip(q,"rect(auto auto auto auto)");
objflow(q,"visible");
}
}
function init()
{var i,o,q;
for(i=0;i<numMenu;i++)
{
q="sub"+i;
o=objGet(q);idecka[i]=[0,0,o.offsetWidth,o.offsetHeight];
objd(q,0);objv(q,1);
timerID[i]=null;
}
}