Avatar billede Slettet bruger
10. juni 2001 - 15:29 Der er 4 kommentarer og
1 løsning

Skjule layers efter f.eks 2 sekunder...

Halløj der!

Jeg har følgende kode, som jeg gerne vil have modificeret lidt:

<SCRIPT language=javascript>
<!--
var usernameSwf = new Object();

InternetExplorer = navigator.appName.indexOf(\"Microsoft\") != -1;

var loadImg=new Array();
for (var j=0;j<10;j++){
    loadImg[j]=new Image();
}
loadImg[1].src=\"pix/menu2.gif\";
loadImg[2].src=\"pix/menu3.gif\";
loadImg[3].src=\"pix/menu4.gif\";
loadImg[4].src=\"pix/menu5.gif\";
loadImg[5].src=\"pix/menu6.gif\";
loadImg[6].src=\"pix/menu1.gif\";

var layer= new String();
var style= new String();
var i, current;
var running = 0;


//browser check for layers

if (is_nav5up){ 
    style=\".style\";
}
else if (is_nav4)  { 
    layer=\".layers\";
    style=\"\";
}
else if (is_ie4up)  {
    layer=\".all\";
    style=\".style\";
       
    } 

function rollOver(name){
  var loImage;
  var chkImage;
 
  if (is_nav4){
    loImage = eval(\'document.menu.document.\'+name);
    document.menu.document.menu1.src=\'pix/menu1.gif\';
    document.menu.document.menu2.src=\'pix/menu2.gif\';
    document.menu.document.menu3.src=\'pix/menu3.gif\';
    document.menu.document.menu4.src=\'pix/menu4.gif\';
    document.menu.document.menu5.src=\'pix/menu5.gif\';
    document.menu.document.menu6.src=\'pix/menu6.gif\';
  } else if (is_ie4up)  {
    loImage= eval(\'document.\'+name);
    document.menu1.src=\'pix/menu1.gif\';
    document.menu2.src=\'pix/menu2.gif\';
    document.menu3.src=\'pix/menu3.gif\';
    document.menu4.src=\'pix/menu4.gif\';
    document.menu5.src=\'pix/menu5.gif\';
    document.menu6.src=\'pix/menu6.gif\';
  }  else if (is_nav5up)  {
    loImage=document.getElementById(name);
    document.getElementById(\'menu1\').src=\'pix/menu1.gif\';
    document.getElementById(\'menu2\').src=\'pix/menu2.gif\';
    document.getElementById(\'menu3\').src=\'pix/menu3.gif\';
    document.getElementById(\'menu4\').src=\'pix/menu4.gif\';
    document.getElementById(\'menu5\').src=\'pix/menu5.gif\';
    document.getElementById(\'menu6\').src=\'pix/menu6.gif\';
  }   
  loImage.src = \'pix/\'+name+\'.gif\';
  //alert(loImage.src);
  hidelayer();
  changeState(name+\'menu\',\'visible\');

}

function rollOut(name){
   
     
  var loImage;
  var chkImage;
 
  if (is_nav4){
    loImage = eval(\'document.menu.document.\'+name);
   
  } else if (is_ie4up)  {
    loImage= eval(\'document.\'+name);
  }  else if (is_nav5up)  {
    loImage=document.getElementById(name);   
  }   
  layerRef=name+\'menu\';
  if ((is_nav4) || (is_ie4up)){
  lyr=\"document\"+layer+\"[\'\"+layerRef+\"\']\"+style+\".visibility\";
} else if (is_nav5up){
    lyr=\"document.getElementById(\'\"+layerRef+\"\').style.visibility\";
   
}   
  if ((eval(lyr)==\'visible\') || (eval(lyr)==\'show\')){
      loImage.src = \'pix/\'+name+\'.gif\';
    }
  else{
      loImage.src = \'pix/\'+name+\'.gif\';
      }
 
         
}

var n,i,startLeft,endLeft;
// var moveX = new Array(1.00, 0.00);
var moveX = new Array(1.00, 0.00);

//layer visibility
function changeState(layerRef,state){
    if (is_nav5up){
        evallayer=\"document.getElementById(\'\"+layerRef+\"\').style.visibility=\'\"+state+\"\'\";
    }
    else{
        evallayer=\"document\"+layer+\"[\'\"+layerRef+\"\']\"+style+\".visibility=\'\"+state+\"\'\";
    }
   
    if(current != layerRef)
    {
            current = layerRef;
        running = 1;
        n = -1;
        i = 15;
        startLeft = 15;
        endLeft = 15;
        eval(evallayer);
        moveLayer(i,layerRef);   
    }   
    else
    {
        eval(evallayer);
    }   
}

function moveLayer(i,layerRef){
    if (is_nav5up){
        evallayer=\"document.getElementById(\'\"+layerRef+\"\').style.left=\"+i;
    }
    else{
        evallayer=\"document\"+layer+\"[\'\"+layerRef+\"\']\"+style+\".left=\"+i;
    }
    if((i>endLeft) && (running==1) && (current==layerRef))
    {
        n++;
        i = (startLeft*moveX[n])+endLeft;
        eval(evallayer);
        setTimeout(\'moveLayer(\'+i+\',\"\'+layerRef+\'\")\',25);
    }   
    else if((running==1) && (current==layerRef))
    {
        running = 0;
    }
}   
   

//hide all layers except the main one
function hidelayer(){
if (is_nav5up){
    eval(\"document.getElementById(\'menu1menu\').style.visibility=\'hidden\'\");
    eval(\"document.getElementById(\'menu2menu\').style.visibility=\'hidden\'\");
    eval(\"document.getElementById(\'menu3menu\').style.visibility=\'hidden\'\");
    eval(\"document.getElementById(\'menu4menu\').style.visibility=\'hidden\'\");
    eval(\"document.getElementById(\'menu5menu\').style.visibility=\'hidden\'\");
    eval(\"document.getElementById(\'menu6menu\').style.visibility=\'hidden\'\");
}
else{   
    eval(\"document\"+layer+\"[\'menu1menu\']\"+style+\".visibility=\'hidden\'\");
    eval(\"document\"+layer+\"[\'menu2menu\']\"+style+\".visibility=\'hidden\'\");
    eval(\"document\"+layer+\"[\'menu3menu\']\"+style+\".visibility=\'hidden\'\");
    eval(\"document\"+layer+\"[\'menu4menu\']\"+style+\".visibility=\'hidden\'\");
    eval(\"document\"+layer+\"[\'menu5menu\']\"+style+\".visibility=\'hidden\'\");
    eval(\"document\"+layer+\"[\'menu6menu\']\"+style+\".visibility=\'hidden\'\");
    }
}

function setObject(){
}
// -->
</script>

<script language=\"JavaScript\" type=\"text/javascript\">
function submitted (selectedtype)
{ document.submitform.submittype.value = selectedtype ;
  document.submitform.submit() ;}
</script>
<script language=\"JavaScript1.2\">
var testresults
function checkemail(){
var str=document.submitform.email.value
var filter=/^.+@.+\\..{2,3}$/
if (filter.test(str))
testresults=true
else{
alert(\"Indtast venligst en gyldig E-mail adresse\")
testresults=false
}
return (testresults)
}
</script>

Jeg tror det er noget i stil med

function timeout(navn){
    this.tim=setTimeout(this.name+\".attribut()\",500)
    this.over2=0
}

jeg skal bruge...men der må være en nem måde at skjule alle lag med når markøren er udenfor dem..har du et godt svar?



Avatar billede Slettet bruger
10. juni 2001 - 15:30 #1
Ups..skylder måske at der også inkluderes en broserdetect JavaScript fil. Men jeg regner ikke med at den har nogen indflydelse på resten...
Avatar billede olebole Juniormester
11. juni 2001 - 14:53 #2
<ole>
Hvis bare du vil forklare, hvad du vil, skal du nok få et svar  :o)
/mvh
</bole>
Avatar billede Slettet bruger
11. juni 2001 - 19:53 #3
Jeg satte følg. javascript ind:

<script language=\"JavaScript1.2\">
function timeout()
{
setTimeout(\"hidelayer(\'menu\')\",3000);

}
</script>

og aktiverede det med onmouseout() på mine <div>

Jeg er dog ikke tilfreds med resultatet, der nogle gange skjuler lagene underligt hvis jeg flytter musen frem og tilbage.

Se resultatet på www.datefinder.dk/studiestarter.dk

Det er menuen i toppen der sutter røv..*S*
Avatar billede Slettet bruger
11. juni 2001 - 19:53 #4
Det skal skjule menuen efter 2 sek...f.eks...
Avatar billede Slettet bruger
14. juni 2001 - 09:09 #5
øv..
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester