Cascade Menü - Website X5 Hilfe - Die Helpsite

Website hundertprozent CO2 neutral mit Host Europe
Direkt zum Seiteninhalt

Hauptmenü

Cascade Menü

Scripte > Menü Navigation


Ein kleines (Automatik-) Menu.

JavaScript

Ein Mini-Menü über JavaScript. Im Opera zeigt es einen weissen Balken unten, ist jedoch akzeptabel.
Wichtig! Es muss in Verbindung mit CSS genutzt werden.
Leider funktioniert der Code nur problemlos, wenn eine separate html-Datei als iframe eingebunden wird.
Die beiliegende html-Datei einfach auf den Server ins root kopieren und iframe-Code in ein HTML-Objekt einbinden.
Style und Größe sind über die Style-Eigenschaften im Code der Seite veränderbar.


Browser

 
Button Download Script


Code für das HTML-Objekt:

<iframe name="cascade" src="cascade_menu.html" frameborder="0" width="160" height="220" scrolling="no"></iframe>



Code der HTML-Datei (cascade-menu.html):

<html>
<body style="background-color:transparent">
<style type="text/css">
<!--
.menu
{
  background-color: #2b6ebb;
  border: 1px solid #008;
  font-family: Verdana;
  position: absolute;
  font-weight: bold;
  padding-top: 3px;
  font-size: 10px;
  cursor: pointer;
  width: 150px;
  color: #fff;
}
.item_panel
{
  border-left: 1px solid #008;
  border-right: 1px solid #008;
  clip: rect(0, 150, 0, 0);
  position: absolute;
  width: 150px;
}
.item_panel a
{
  text-decoration: none;
  cursor: pointer;
  color: #000;
}
.item
{
  background-color: #e9f0f8;
  font-family: Verdana;
  font-size: 10px;
  width: 148px;
}
//-->
</style>
<script type="text/javascript">
<!--
var Link = new Array();
Link[0]  = '0|Hauptmen&uuml; 1';
Link[1]  = '1|Untermenü 1.1|http://www.|target="_parent"|';
Link[2]  = '1|Untermenü 1.2|http://www.|target="_blank"|';
Link[3]  = '1|Untermenü 1.3|http://www.|';
Link[4]  = '1|Untermenü 1.4|http://www.|';
Link[5]  = '0|Hauptmenü 2';
Link[6]  = '1|Untermenü 2.1|http://www.|';
Link[7]  = '1|Untermenü 2.2|http://www.|'
Link[8]  = '0|Hauptmenü 3';
Link[9]  = '1|Untermenü 3.1|http://www.|';
Link[10] = '1|Untermenü 3.2|http://www.|';
Link[11] = '0|Hauptmenü 4';
Link[12] = '1|
Untermenü 4.1|http://www.|target="_blank"|';

var height    = 20;           
// Höhe der Menüköpfe
var iheight   = 15;           
// Höhe der Menüelemente
var bgc       = '#e9f0f8'     
// Hintergrundfarbe Untermenüs
var over_bgc  = '#fff';       
// Mouseover Hintergrundfarbe
var tc        = '#000'        
// Textfarbe
var over_tc   = '#004891';    
// Mouseover Textfarbe
var speed     = 0;
var timerID   = 0;
var width     = 152;
var N         = (document.all) ? 0 : 1;
var self_menu = new Array();

function write_menu()
{
  smc   = 0;
  mn    = 0;
  mni   = 1;
  start = -1;
  document.write('<div style="position: absolute;">');
  for (var i = 0; i < Link.length; i++)
  {
     la = Link[i].split('|');
     if (la[0] == 0)
     {
        if (start == 0)
        {
           document.write('</div>');
           h = csmc * iheight;
           tmn = mn; // - h;
           self_menu[smc] = new Array(tmn, h, 0, -2);
           smc++;
           mn--;
        }
        csmc = 0;
           document.write('<div id="down' + smc + '" class="menu" '
                     + 'style="top: ' + mn + 'px; height: ' + height + 'px;" '
                     + 'onclick="pull_down(' + smc + ', ' + mni + ');">'
                     + '  ' + la[1] + '</div>');
        self_menu[smc] = new Array(mn, height, 0, mni);
        smc++;
        mni++;
        mn += height;
        start = 1;
     }
     else
     {
        if (start == 1)
        {
           if (N)
              mn += 2;
           document.write('<div id="down' + smc + '" class="item_panel" '
                        + 'style="top: '+ mn + 'px;">');
           start = 0;
        }
        document.write('<a href="' + la[2] + '"'
                     + ((la[3] != '') ? ' target="' + la[3] + '"' : '')
                     + '><div id="d' + i + '" class="item" '
                     + 'style="height: ' + iheight + 'px;'
                     + ((N) ? ' width:150px;' : '')
                     + '" onmouseover="color(this.id);" '
                     + 'onmouseout="uncolor(this.id);">'
                     + ' ' + la[1] + '</div></a>');
        csmc++;
     }
  }

  if (start == 0)
  {
     document.write('</div>');
     h =  csmc * iheight;
     tmn = mn + 5; // - h;
     self_menu[smc] = new Array(tmn, h, 0);
     name = 'down' + (self_menu.length - 1);
     obj = document.getElementById(name);
     obj.style.borderBottomColor = '#008';
     obj.style.borderBottomWidth = '1px';
     obj.style.borderBottomStyle = 'solid';
  }

  document.write('</div>');
}

function color(obj)
{
  document.getElementById(obj).style.backgroundColor = over_bgc;
  document.getElementById(obj).style.color = over_tc;
}
function uncolor(obj)
{
  document.getElementById(obj).style.backgroundColor = bgc;
  document.getElementById(obj).style.color = tc;
}
function pull_down(nr, c)
{
  if (timerID == '')
  {
     to = self_menu[nr + 1][1]
     begin = nr + 2;
     if (timerID != '')
        clearTimeout(timerID);
     if (self_menu[nr + 1][2] == 0)
     {
        self_menu[nr + 1][2] = 1;
        if (nr == (self_menu.length - 2))
           to++;
        epull_down(begin, to, 0);
     }
     else
     {
        to = 0;
        self_menu[nr + 1][2] = 0;
        name = 'down' + (nr + 2);
        open_item = 0;
        for (var i = 0; i < nr; i++)
           if (self_menu[i][2] == 1)
              open_item += self_menu[i][1];
        if (N == false)
           open_item -= (c * 1);
        if (nr == (self_menu.length - 2))
        {
           val = self_menu[self_menu.length - 1][1];
           to = -1;
        }
        else
           val = parseInt(document.getElementById(name).style.top) - (open_item) - (c * height);
        epull_up(begin, to, val);
     }
  }
}
function epull_down(nr, to, nowv)
{
  name = 'down' + (nr - 1);
  obj = document.getElementById(name).style.clip = 'rect(0, ' + width + ', ' + (nowv + 1) + ', 0)';
  for (var i = nr; i < self_menu.length; i++)
  {
     name = 'down' + i;
     obj = document.getElementById(name);
     obj.style.top = parseInt(obj.style.top) + 1;
  }
  nowv++;
  if (nowv < to)
     timerID = setTimeout('epull_down(' + nr + ', ' + to + ', ' + nowv + ');', speed);
  else
     timerID = 0;
}
function epull_up(nr, to, nowv)
{
  name = 'down' + (nr - 1);
  obj = document.getElementById(name).style.clip = 'rect(0, ' + width + ', ' + nowv + ', 0)';
  for (var i = nr; i < self_menu.length; i++)
  {
     name = 'down' + i;
     obj = document.getElementById(name);
     obj.style.top = parseInt(obj.style.top) - 1;
  }
  nowv--;
  if(nowv > to)
     timerID = setTimeout('epull_up(' + nr + ', ' + to + ', ' + nowv + ');', speed);
  else
     timerID = 0;
}
function startup(nr)
{
  write_menu();
  if (nr != 0)
  {
     for (var i = 0; i < self_menu.length; i++)
     {
        if (self_menu[i][3] == nr)
           pull_down(i, nr);
        i == self_menu.length;
     }
  }
}
//-->
</script>
<script type="text/javascript">
<!--
startup(1);
//-->
</script>
</body>
</html>


 
Feedbacks zu ""

es gibt insgesamt 0 Kommentar(e)



Name*
Vorname
Kommentar*
Email *
Homepage
Telefon
Sicherheitscode *
 
 

© 2009 - 2012

Suche



  Besucher Statistik
 » 5 Online
 » 62 Heute
 » 608 Woche
 » 1691 Monat
 » 12263 Jahr
 » 26365 Gesamt
Rekord: 273 (24.04.2012)
Newsletter
Zurück zum Seiteninhalt | Zurück zum Hauptmenü