Floating Menü - Website X5 Hilfe - Die Helpsite

Website hundertprozent CO2 neutral mit Host Europe
Direkt zum Seiteninhalt

Hauptmenü

Floating Menü

Scripte > Listen Navigation
Das ist ein Floating Menü.

- Download Script-


Das fliegende Menü.

JavaScript

Dieses Menü wandert optisch stetig mit. Das ist aber nur optisch der Fall, da das Menü auf eine Position mit dem Parameter "fixed" fest verankert ist.
Die Position und der Style des Menüs sind im Code veränderbar. Der Parameter legen die Startposition und die Größe  des Menüs beim Öffnen der Seite fest:

width:150px; = Breite des Menüs
height:50px; = Höhe des Menüs
left:160px; = Abstand des Menüs vom linken Rand des bodys
top:350px; = Abstand des Menüs vom oberen Rans des bodys



Button Download Script


Code für das HTML-Objekt:

<!-- Anpassung des fliegenden Menüs -->
<!-- (widh, height, left, right, middle, top, buttom). -->
<div id="fixeddiv" style="
   position:absolute;
   width:200px;height:30px;middle:0px;top:250px;
   padding:16px;background:#FFFFFF;
   border:2px solid #2266AA">
Das ist ein fliegendes Menü
.<br /><br />
<a href="#x">DEIN_ANZEIGETEXT</a>
<br />
</div>

<!-- Ab hier nichts mehr ändern. -->
<script type="text/javascript">
<!--
fixedMenuId = 'fixeddiv';

var fixedMenu =
{
   hasInner: typeof(window.innerWidth) == 'number',
   hasElement: document.documentElement != null
      && document.documentElement.clientWidth,

   menu: document.getElementById
       ? document.getElementById(fixedMenuId)
       : document.all
         ? document.all[fixedMenuId]
         : document.layers[fixedMenuId]
};

fixedMenu.computeShifts = function()
{
   fixedMenu.shiftX = fixedMenu.hasInner
       ? pageXOffset
       : fixedMenu.hasElement
         ? document.documentElement.scrollLeft
         : document.body.scrollLeft;
   if (fixedMenu.targetLeft > 0)
       fixedMenu.shiftX += fixedMenu.targetLeft;
   else
   {
       fixedMenu.shiftX +=
           (fixedMenu.hasElement
             ? document.documentElement.clientWidth
             : fixedMenu.hasInner
               ? window.innerWidth - 20
               : document.body.clientWidth)
           - fixedMenu.targetRight
           - fixedMenu.menu.offsetWidth;
   }

   fixedMenu.shiftY = fixedMenu.hasInner
       ? pageYOffset
       : fixedMenu.hasElement
         ? document.documentElement.scrollTop
         : document.body.scrollTop;
   if (fixedMenu.targetTop > 0)
       fixedMenu.shiftY += fixedMenu.targetTop;
   else
   {
       fixedMenu.shiftY +=
           (fixedMenu.hasElement
           ? document.documentElement.clientHeight
           : fixedMenu.hasInner
             ? window.innerHeight - 20
             : document.body.clientHeight)
           - fixedMenu.targetBottom
           - fixedMenu.menu.offsetHeight;
   }
};

fixedMenu.moveMenu = function()
{
   fixedMenu.computeShifts();

   if (fixedMenu.currentX != fixedMenu.shiftX
       || fixedMenu.currentY != fixedMenu.shiftY)
   {
       fixedMenu.currentX = fixedMenu.shiftX;
       fixedMenu.currentY = fixedMenu.shiftY;

       if (document.layers)
       {
           fixedMenu.menu.left = fixedMenu.currentX;
           fixedMenu.menu.top = fixedMenu.currentY;
       }
       else
       {
           fixedMenu.menu.style.left = fixedMenu.currentX + 'px';
           fixedMenu.menu.style.top = fixedMenu.currentY + 'px';
       }
   }

   fixedMenu.menu.style.right = '';
   fixedMenu.menu.style.bottom = '';
};

fixedMenu.floatMenu = function()
{
   fixedMenu.moveMenu();
   setTimeout('fixedMenu.floatMenu()', 20);
};

// addEvent designed by Aaron Moore
fixedMenu.addEvent = function(element, listener, handler)
{
   if(typeof element[listener] != 'function' ||
      typeof element[listener + '_num'] == 'undefined')
   {
       element[listener + '_num'] = 0;
       if (typeof element[listener] == 'function')
       {
           element[listener + 0] = element[listener];
           element[listener + '_num']++;
       }
       element[listener] = function(e)
       {
           var r = true;
           e = (e) ? e : window.event;
           for(var i = 0; i < element[listener + '_num']; i++)
               if(element[listener + i](e) === false)
                   r = false;
           return r;
       }
   }

   //if handler is not already stored, assign it
   for(var i = 0; i < element[listener + '_num']; i++)
       if(element[listener + i] == handler)
           return;
   element[listener + element[listener + '_num']] = handler;
   element[listener + '_num']++;
};

fixedMenu.supportsFixed = function()
{
   var testDiv = document.createElement("div");
   testDiv.id = "testingPositionFixed";
   testDiv.style.position = "fixed";
   testDiv.style.top = "0px";
   testDiv.style.right = "0px";
   document.body.appendChild(testDiv);
   var offset = 1;
   if (typeof testDiv.offsetTop == "number"
       && testDiv.offsetTop != null
       && testDiv.offsetTop != "undefined")
   {
       offset = parseInt(testDiv.offsetTop);
   }
   if (offset == 0)
   {
       return true;
   }

   return false;
};

fixedMenu.init = function()
{
   if (fixedMenu.supportsFixed())
       fixedMenu.menu.style.position = "fixed";
   else
   {
       var ob =
           document.layers
           ? fixedMenu.menu
           : fixedMenu.menu.style;

       fixedMenu.targetLeft = parseInt(ob.left);
       fixedMenu.targetTop = parseInt(ob.top);
       fixedMenu.targetRight = parseInt(ob.right);
       fixedMenu.targetBottom = parseInt(ob.bottom);

       if (document.layers)
       {
           menu.left = 0;
           menu.top = 0;
       }
       fixedMenu.addEvent(window, 'onscroll', fixedMenu.moveMenu);
       fixedMenu.floatMenu();
   }
};

fixedMenu.addEvent(window, 'onload', fixedMenu.init);
//-->
</script>

 

© 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ü