• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Ausfahrbares Menu soll bleiben

Status
Für weitere Antworten geschlossen.

Joken

Neues Mitglied
Hallo,

Ich habe auf einer meiner Testseiten ein JS Menu eingbaut, also was, wenn man wo rauf klickt auf fährt, also sowas wie das Accordion.

Nur wenn ich jetzt eine andere Seite aufrufe ist das Accordion wieder eingezogen, also zu, wie mache ich das es bei der aufgerufenen Seite aufbleibt, hab hier mal den Link, ihr seht es wenn ihr eine andere Seite betritt.

Noel's & Erik's Wheelie Page

Grüsse, Joken
 
Werbung:
Dann musst du für die anderen Seiten beim Menü jeweils angeben, welcher Menüpunkt ausgeklappt sein soll. Wie das geht hängt von deinem Menü ab.
 
Ein Menü sollte jedoch auch ohne Javascript noch funktionieren, da der Besucher es deaktivieren kann. Dein Menü ist ohne Javascript nicht nutzbar, der Besucher ist also auf der Startseite gefangen.

Besser wäre es, du erstellst dein Menü mit CSS. Um den aktiven Link hervorzuheben, kannst du eine serverseitige Scriptsprache (PHP, Perl, Python, ASP...) verwenden. Dazu gibt es hier auch schon einige Themen.
 
Werbung:
http://www.html.de/javascript-ajax-und-dhtml/25442-menu-mit-javascript-ja-oder-nein.html

die technik, die es sichtbar macht, sollte es auch verstecken.
d.h. display:none; und heigh:20px; kommen ins javascript.
dabei wird dir document.getElementsByClassName(classname); helfen.
dann ist das menü einacf komplett sichtbar wenn javascript deaktiviert ist.

alternativ kann man es auch zusätzlich mit css untersützen. wenn javascript deaktiviert ist springt dann ein hover event ein.
 
man kann javascript auch einfach komplett weglassen und ein reines css menu bauen ^^
gut, diesen aufklappeffekt bekommst du nat. mit css nicht hin, aber ist der so nötig?
ich finde nicht.
außerdem bin ich eh nicht so einfan von dieser art menu.

drop down finde ich da eindeutig schöner ;-)

und das geht auch mit reinem css.

grüße hokage
 
Hmm, also ich werd mal schauen ob ich das dann noch als normales menu mache, aber wie mache ich es denn, das das menu auf der jeweiligwen seite draussen ist, hier mal das js.

Code:
var ContentHeight = 200;
var TimeToSlide = 300.0;

var openAccordion = '';

function runAccordion(index)
{
  var nID = "Accordion" + index + "Content";
  if(openAccordion == nID)
    nID = '';
   
  setTimeout("animate(" + new Date().getTime() + "," + TimeToSlide + ",'"
      + openAccordion + "','" + nID + "')", 33);
 
  openAccordion = nID;
}

function animate(lastTick, timeLeft, closingId, openingId)
{  
  var curTick = new Date().getTime();
  var elapsedTicks = curTick - lastTick;
 
  var opening = (openingId == '') ? null : document.getElementById(openingId);
  var closing = (closingId == '') ? null : document.getElementById(closingId);
 
  if(timeLeft <= elapsedTicks)
  {
    if(opening != null)
      opening.style.height = ContentHeight + 'px';
   
    if(closing != null)
    {
      closing.style.display = 'none';
      closing.style.height = '0px';
    }
    return;
  }
 
  timeLeft -= elapsedTicks;
  var newClosedHeight = Math.round((timeLeft/TimeToSlide) * ContentHeight);

  if(opening != null)
  {
    if(opening.style.display != 'block')
      opening.style.display = 'block';
    opening.style.height = (ContentHeight - newClosedHeight) + 'px';
  }
 
  if(closing != null)
    closing.style.height = newClosedHeight + 'px';

  setTimeout("animate(" + curTick + "," + timeLeft + ",'"
      + closingId + "','" + openingId + "')", 33);
}

Und, weil ihr ja meintet das das nicht so toll ist wenn nur das js menu da ist (falls einer das ausgeschaltet hat) wie füge ich das hinzu das das invisible ist wenn derjenige js deaktiviert hat
 
Werbung:
Ohne den Thread gelesen zu haben: Dann kannst Du nur eine neue Seite laden, bei der das Element invisible ist. Denn allein mit JavaScript kannst Du dynamische Änderungen an der aktuellen Seite machen.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben