Toon posts:

setTimeout + layers

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste tweakers, ik ben bezig met een scriptje dat na x seconden een bepaalde layer even niet, en een andere juist wel toont. Na een korte tijd moet dat weer andersom zijn. Ik gebruik o.a. een standaard functie van Dreamweaver voor het tonen en verbergen van een layer:

code:
1
2
3
4
5
6
7
8
function MM_showHideLayers() { //v6.0
var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) 
{ v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')
?'visible':(v=='hide')?'hidden':v; }
obj.visibility=v; }
}


Ook heb ik deze functie voor het even wachten met het uitvoeren van js-code:
code:
1
2
3
4
5
6
7
8
function pausecomp(Amount) {
  d = new Date() //today's date
  while (1) {
    mill=new Date() // Date Now
    diff = mill-d //difference in milliseconds
    if( diff > Amount ) {break;}
  }
}


Dan in de pagina zelf in de head de volgende code:
code:
1
2
3
4
5
6
7
8
9
10
function adanimation() {
pausecomp(1250);
MM_showHideLayers('Sponsor1','','show'); 
MM_showHideLayers('banner','','hide');
//alert("1"); 
pausecomp(1250);
MM_showHideLayers('Sponsor1','','hide'); 
MM_showHideLayers('banner','','show');
//alert("2");
}


En in de body-tag nog:
code:
1
onLoad="adanimation();


Wanneer ik nu die alert's uncomment, dan werkt het min of meer (maar dan heb ik natuurlijk die dialoogboxjes erdoorheen), maar als ik ze zo laat dan werkt het niet.. Hoe kan dat?? Ik heb het ook anders geprobeerd, met
code:
1
2
setTimeout("MM_showHideLayers('Sponsor1','','hide'); 
MM_showHideLayers('banner','','show')",2000);

maar dan werkt het eveneens niet zonder alert(). Waar ligt dat aan? Iemand een idee?

[ Voor 11% gewijzigd door Verwijderd op 13-04-2004 07:53 ]


  • André
  • Registratie: Maart 2002
  • Laatst online: 26-05 00:33

André

Analytics dude

Die functie pausecomp werkt natuurlijk niet zo als jij wil, er komt echt geen pause in het script. Probeer dit eens:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
function adanimation()
{
  MM_showHideLayers('Sponsor1','','show'); 
  MM_showHideLayers('banner','','hide');
  setTimeout("adanimation2();", 3000);
}

function adanimation2()
{
  MM_showHideLayers('Sponsor1','','hide'); 
  MM_showHideLayers('banner','','show');
}