Weitere Schritte und Überlegungen

Sie sollten an dieser Stelle nur weitermachen, wenn das Layer-Menü an sich bereits funktioniert. Alles im Folgenden beschriebene setzt das voraus. Es hat keinen Sinn, die Schritte auf dieser Seite durchzuführen, wenn das Menü nicht in allen Aspekten Ihren Anforderungen genügt.

Grundsätzliches:

Menüs dieser Art haben den entscheidenden Nachteil, daß sie nur mit JavaScript funktionieren. Hat ein Besucher Ihrer Website JavaScript abgeschaltet (darauf haben Sie ja keinen Einfluß) kann das Menü nicht funktionieren. Was also tun? Es ist keine gute Idee, darauf zu vertrauen oder vom Benutzer gar zu fordern, JavaScript sei eingeschaltet. Sie sind auf Ihre Besucher angewiesen und nicht umgekehrt. Einem Besucher, der JavaScript abgeschaltet hat, muß also ebenfalls eine funktionierende Navigation präsentiert werden.

Im Verzeichnis fileadmin/udm/ finden Sie eine HTML-Datei mit dem Namen css-generator.html die die Einstellungen, die Sie in der Skript-Datei udm-custom.js gemacht haben in CSS-Anweisungen konvertiert.

JavaScript in CSS konvertieren

Rufen Sie css-generator.html im Webbrowser auf und nehmen Sie die Einstellungen vor, wie unten abgebildet.. Es spielt keine Rolle, ob Sie dies auf Ihrer lokalen Festplatte tun, oder auf Ihrem Webserver. Wichtig ist nur, daß die Datei udm-custom.js, die im selben Verzeichnis liegen muß, diejenige ist, die Sie angepasst haben. Diese wird gelesen und in CSS-Anweisungen konvertiert. Klicken Sie hierzu auf Generate CSS und kopieren Sie die Ausgabe im Bereich Main Output mit Strg C in die Zwischenablage.

Die Datei css-generator.html

udm-style.css (UDM Layer-Menü)

Öffnen Sie nun die Datei udm-style.css und kopieren Sie die CSS-Anweisungen mit Strg V ans Ende der Datei. Es sollte anschließend aussehen wie unten abgebildet. Die Zeilen 167 bis 169 (rot markiert) schreiben Sie bitte manuell dazu. Sie sorgen dafür, daß bei abgeschaltetem JavaScript nur die oberste Ebene des Menüs und nicht die Layer dargestellt werden.

udm-style.css

  1. /* UDMv4.5 */
  2. /***************************************************************\
  3.   ULTIMATE DROP DOWN MENU Version 4.5 by Brothercake
  4.   http://www.udm4.com/
  5.  
  6.   This script may not be used or distributed without license
  7. \***************************************************************/
  8.  
  9. /***************************************************************/
  10. /* Generated CSS - DO NOT EDIT THIS DIRECTLY                   */
  11. /***************************************************************/
  12. .udm,.udm li,.udm ul {
  13.   margin:0;
  14.   padding:0;
  15.   list-style-type:none;
  16.   }
  17. .udm {
  18.   position:relative;
  19.   left:0;
  20.   top:0;
  21.   z-index:20000;
  22.   width:auto;
  23.   cursor:default !important;
  24.   border:none;
  25.   text-align:left;
  26.   }
  27. .udm {
  28.   float:none;
  29.   width:100%;
  30.   }
  31. @media screen,projection {
  32.   .udm {
  33.   float:left;
  34.   }}
  35. .udm {
  36.   padding-top:0;
  37.   }
  38. .udm>li:first-child {
  39.   margin-left:50px;
  40.   }
  41. @media Screen,Projection {
  42.   .udm>li:first-child {
  43.   margin-left:0;
  44.   margin-right:0;
  45.   }}
  46. .udm li {
  47.   left:50px;
  48.   }
  49. @media screen,projection {
  50.   .udm li {
  51.   position:relative;
  52.   }}
  53. .udm li {
  54.   display:block;
  55.   width:auto;
  56.   float:left;
  57.   }
  58. .udm li a {
  59.   position:static;
  60.   display:block;
  61.   float:left;
  62.   white-space:nowrap;
  63.   }
  64. @media screen,projection {
  65.   .udm l\i a {
  66.   position:relative;
  67.   float:none;
  68.   }}
  69. ul[class^="udm"] li a {
  70.   position:relative;
  71.   float:none;
  72.   }
  73. @media screen,projection {
  74.   * html .udm li a {
  75.   position:relative;
  76.   float:none;
  77.   }}
  78. .udm li,.udm li:first-child {
  79.   margin-right:0px;
  80.   }
  81. .udm li a {
  82.   margin-bottom:0px;
  83.   }
  84. ul[class^="udm"]:not([class="xxx"]) li a {
  85.   margin-bottom:0;
  86.   }
  87. ul[class^="udm"]:not([class="xxx"]) li {
  88.   margin-bottom:0px;
  89.   }
  90. .udm a,.udm a:link,.udm a.nohref {
  91.   background-image:none;
  92.   background-color:#5482d4;
  93.   cursor:pointer !important;
  94.   z-index:1000;
  95.   text-align:left;
  96.   border-style:solid;
  97.   border-color:#5d91f1 #325081 #325081 #5d91f1;
  98.   padding-left:8px;
  99.   padding-right:8px;
  100.   padding-top:3px !important;
  101.   padding-bottom:3px !important;
  102.   text-decoration:none;
  103.   color:#fff;
  104.   border-width:2px;
  105.   font-style:normal;
  106.   font-family:'Trebuchet MS',Verdana,Helvetica,Arial, sans-serif;
  107.   ;
  108.   font-weight:bold !important;
  109.   }
  110. .udm a,.udm a.nohref {
  111.   font-size:100%;
  112.   }
  113. .udm li a:visited {
  114.   background-image:none;
  115.   background-color:#5482d4;
  116.   border-width:2px;
  117.   color:#fff;
  118.   font-style:normal;
  119.   border-style:solid;
  120.   border-color:#5d91f1 #325081 #325081 #5d91f1;
  121.   }
  122. .udm li a.udmR,.udm li a.udmY,.udm li a.udmR:visited,.udm li a.udmY:visited,.udm li a:hover,.udm li a:focus,.udm li a.nohref:hover,.udm li a.nohref:focus {
  123.   font-style:normal;
  124.   background-image:none;
  125.   background-color:#fff;
  126.   text-decoration:none;
  127.   color:#325081;
  128.   border-color:#5d91f1 #325081 #325081 #5d91f1;
  129.   border-style:solid;
  130.   border-width:2px;
  131.   }
  132. * html .udm li a:active {
  133.   font-style:normal;
  134.   background-image:none;
  135.   background-color:#fff;
  136.   text-decoration:none;
  137.   color:#325081;
  138.   border-color:#5d91f1 #325081 #325081 #5d91f1;
  139.   border-style:solid;
  140.   border-width:2px;
  141.   }
  142. .udm a.nohref,.udm ul a.nohref {
  143.   cursor:default !important;
  144.   }
  145. @media screen,projection {
  146.   * html .udm li {
  147.   display:inline;
  148.   }}
  149. @media screen,projection {
  150.   * html .udm li,* html .udm ul li {
  151.   display/**/:block;
  152.   float/**/:left;
  153.   }}
  154. ul[class$="udm"].udm li,ul[class$="udm"].udm ul li {
  155.   display:block;
  156.   float:left;
  157.   }
  158. ul[class$="udm"].udm:not([class="xxx"]) li {
  159.   float:left;
  160.   }
  161. @media all and (min-width:0px) {
  162.   ul[class$="udm"].udm li {
  163.   float:left;
  164.   }}
  165. .udm ul {
  166.   display:none;
  167. }
  168.  
Datei herunterladen:uploads/tx_jphcodesnippets/udm-style.txt

Sie können es jetzt ausprobieren: Schalten Sie probeweise JavaScript in Ihrem Browser ab und Sie werden feststellen, daß nur die oberste Ebene des Menüs dargestellt wird.