MeleaMedlem sedan juli 20033 147 inlägg Det är väl så det heter? =)
Jag har en meny som ser ut på ett ungefär såhär:
Startsida | Medlemmar | Gästbok | etc
Nyheter | Om oss | Kontakta oss
Alltså, den undre menyn som jag skrev ut med nyheter, om oss och kontakta oss vill jag ska dyka upp när jag trycker på startsida. Samma när jag trycker på medlemmar ska t.ex. Online och Alla medlemmar synas. Någon som har detta script på lager?
Kan i stort sett ingenting om javascript :)
Tack på förhand
Mvh
JojoxxMedlem sedan juni 20004 308 inlägg Ett litet exempel:
<script type="text/javascript">
var current=null;
function switchto(id){
if(current){ document.getElementById(current).style.display="none"; }
document.getElementById(id).style.display="block";
current=id;
return false;
}
</script>
<div>
<a href="#" onClick="return switchto('divStartsida');">Startsida</a> |
<a href="#" onClick="return switchto('divMedlemmar');">Medlemmar</a> |
<a href="#" onClick="return switchto('divGastbok');">Gästbok</a> |
<a href="#" onClick="return switchto('divEtc');">etc</a>
</div>
<div id="divStartsida" style="display:none;">
<a href="nyheter.html">Nyheter</a> |
<a href="omoss.html">Om oss</a> |
<a href="kontakta.html">Kontakta oss</a> |
</div>
<div id="divMedlemmar" style="display:none;">
Menyn medlemmar
</div>
<div id="divGastbok" style="display:none;">
Menyn Gästbok
</div>
<div id="divEtc" style="display:none;">
Menyn etc
</div>
MeleaMedlem sedan juli 20033 147 inlägg De tackar jag för ;) Funkar kanon!
Mvh
MeleaMedlem sedan juli 20033 147 inlägg Då ska vi se...
Hur gör jag om jag vill att den aktuella menyn som jag har klickat ska stanna kvar när jag är på t.ex. Nyheter, Om oss eller Kontakta oss? Som det är nu åker den tillbaka till ingenting.
Sen tänkte jag om det går att göra så Startsida menyn syns direkt när man kommer till sidan, som typ "standard".
Tack på förhand
Mvh
MeleaMedlem sedan juli 20033 147 inlägg Det med att menyn ska stanna när man tryckt på den kanske kan gå och lösa med sessioner i ASP eller finns det något enklare sätt i javascript?
Mvh
JojoxxMedlem sedan juni 20004 308 inlägg Prova att lägga till detta sist i scriptet.
window.onload=function(){
var a=document.getElementsByTagName("A");
for (var n=0;n<a.length;n++){
if(a[n].href && a[n].href==location.href){
var obj=a[n];
while(obj.nodeName!="DIV"&&obj.parentNode){ obj=obj.parentNode; }
if(obj.nodeName=="DIV"){ obj.style.display="block"; current=obj.id; }
}
}
}
MeleaMedlem sedan juli 20033 147 inlägg Det gör tyvärr ingen skillnad, någon egenskap i det som jag måste ändra?
Mvh
JojoxxMedlem sedan juni 20004 308 inlägg Lugn i stormen, jag har ett dagtidsjobb också :)
Det kan antigen bero på att du redan har ett onload-event definierat på din sida så att tilläggskoden aldrig körs, eller så använder du ankare (sida.html#bookmark). Har fixat till det i detta exempel. Klicka på "Startsida" -> "Nyheter" så ser du exemplet in action.
MeleaMedlem sedan juli 20033 147 inlägg Ojojoj, ledsen om jag var lite hastig... hade lite bråttom jag också :)
Det är lite knas, startsida menyn syns även om man trycker på Inställningar menyn så hamnar det 3 st menyner under varandra istället för att Startsida menyn försvinner.
Tack så hemskt mkt för hjälpen ivf :)
Mvh
JojoxxMedlem sedan juni 20004 308 inlägg Som jag påpekade innan så har du 2 onload-event på din sida. Det andra är detta:
window.onload=function(){
document.forms['focus'].elements['password'].focus();
}
Som alltså körs om du inte är inloggad. Denna funktion "skriver över" onload-eventet i mitt exempel. Du får alltså ändra ditt asp-script så att den lägger till koden för ditt "gamla" onload-event sist i onload-eventet som mitt exempel använder. Att scriptet fungerar bättre när du är inloggad beror på att när du inte är inloggad och väljer "inställningar" så skickas du vidare till sidan "offline.asp", och det är ju inte den sidan som menyn pekar på och således borde egentligen inte heller menyn för inställningar visas.
Jag såg en liten miss i koden så uppdatera den gärna.
MeleaMedlem sedan juli 20033 147 inlägg Ok, jag tog bort den onload funktionen men nu kommer menyerna liksom som tre stycken under varandra.
Menar, när jag t.ex. är på Startsida menyn och trycker på Inställningar så kommer det 3 menyer under varnadra istället för bara inställningar menyn.
Ledsen att jag inte hängde med i ovanstående inlägg :)
Mvh
JojoxxMedlem sedan juni 20004 308 inlägg Du har missat att lägga in ändringen jag gjorde på denna rad:
if(obj.nodeName=="DIV"){ obj.style.display="block"; current=obj.id; }