<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://de.contaowiki.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://de.contaowiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Stefanmelz</id>
		<title>Contao Community Documentation - Benutzerbeiträge [de]</title>
		<link rel="self" type="application/atom+xml" href="https://de.contaowiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Stefanmelz"/>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Spezial:Beitr%C3%A4ge/Stefanmelz"/>
		<updated>2026-04-30T15:59:30Z</updated>
		<subtitle>Benutzerbeiträge</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<entry>
		<id>https://de.contaowiki.org/Docked_Navigation</id>
		<title>Docked Navigation</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Docked_Navigation"/>
				<updated>2012-09-30T12:12:06Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanmelz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Sonstiges]]&lt;br /&gt;
&lt;br /&gt;
= docked Navigation =&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
In diesem Tutorial möchte ich beschreiben, wie man eine Navigation einrichtet, welche beim scrollen ab einem gewissen Punkt an der oberen Kante des Fensters andockt.&lt;br /&gt;
bsp.[http://www.stefanmelz.de stefanmelz.de]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Aufbau des HTML ==&lt;br /&gt;
&lt;br /&gt;
Das ist eigentlich recht simpel. Man benötigt zu allererst das Grundgerüst. Einmal angenommen, man hat auf der Seite 3 Bereiche, welche man ansteuern möchte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
      &amp;lt;div id=&amp;quot;navi&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div id=&amp;quot;dienste&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div id=&amp;quot;arbeiten&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div id=&amp;quot;profil&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Das ganze kann noch verpackt sein und weitere Elemente davor und dahinter enthalten, das ist irrelevant. Wichtig ist, dass die Navigation und die anszusprechenden Bereiche eine eindeutige ID oder Klasse haben.&lt;br /&gt;
&lt;br /&gt;
== Die Navigation ==&lt;br /&gt;
&lt;br /&gt;
Eine Standard Navigation ist eine einfache unsortierte Liste. Da man auf der Seite bleiben soll, braucht man hier lediglich Anker. Das HTML kommt dann so in das div mit der ID „navi“.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li class=&amp;quot;dienste&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#top&amp;quot;&amp;gt;Dienstleistungen&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li class=&amp;quot;arbeiten&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#arbeiten&amp;quot;&amp;gt;Arbeitsbeispiele&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li class=&amp;quot;profil&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#profil&amp;quot;&amp;gt;Profil und Kontakt&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Navigation funktioniert also ohne Javascript schonmal ganz gut und ist so nun einsetzbar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Das Javascript / CSS ==&lt;br /&gt;
&lt;br /&gt;
Nun möchte man nicht immer wieder nach oben scrollen um die Navigation benutzen zu können. Diese soll immer am oberen Fensterrand „kleben“ bleiben. Allerdings erst, wenn die Navigation aus dem sichtbaren Bereich verschwinden würde. Dazu benötigt man ein wenig Javascript und CSS.&lt;br /&gt;
&lt;br /&gt;
=== CSS ===&lt;br /&gt;
&lt;br /&gt;
Um die Navigation am oberen Fensterrand zu positionieren ist nichts weiter nötig als die CSS Angabe: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
position:fixed;&lt;br /&gt;
top:0;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Rest ist stark davon abhängig wie die Navigation aussieht und wo die Seite platziert ist. Soll zum Beispiel die komplette Bildschirmbreite eingenommen werden, fügen wie hinzu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
width:100%;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dieses CSS wird in die klasse „scrolled“ gepackt. Das sieht dann im Endeffekt so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
#navi.scrolled {&lt;br /&gt;
	position:fixed;&lt;br /&gt;
	top:0;&lt;br /&gt;
	width:100%;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== JS ===&lt;br /&gt;
&lt;br /&gt;
Nun soll die klasse „scrolled“ der Navigation zugewiesen werden, sobald diese aus dem sichtbaren Bereich verschwinden würde. Dazu muss die Position der Navigation ermittelt werden. Mootools hilft da mit der Methode getCoordinates(); Das ganze soll erst starten, wenn das DOM aufgebaut ist. Also in die eingebundene JS Datei folgendes schreiben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
window.addEvent('domready',function(){&lt;br /&gt;
&lt;br /&gt;
	//das selektierte Element in eine Variable packen um schreibarbeit und performance zu sparen&lt;br /&gt;
	var navi = $('navi');&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	//dann die Koordinaten der Navigation abfragen und in eine Variable packen&lt;br /&gt;
	var navicoords = navi.getCoordinates();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	//nun soll alles weitere passieren, sobald man scrolled, also ein neues Event hinzufügen&lt;br /&gt;
        window.addEvent('scroll',function(){&lt;br /&gt;
&lt;br /&gt;
        //den aktuellen Scrollstatus fragt man hiermit ab&lt;br /&gt;
        var scroll = this.getScroll();&lt;br /&gt;
&lt;br /&gt;
        //jetzt der abgleich fensterposition mit navigationsposition&lt;br /&gt;
        if(scroll.y &amp;gt;  navicoords.top)&lt;br /&gt;
        {&lt;br /&gt;
            //und nun der Navigation die Klasse scrolled geben&lt;br /&gt;
            navi.addClass('scrolled');&lt;br /&gt;
        }else&lt;br /&gt;
        {&lt;br /&gt;
            //die klasse scrolled wieder entfernen&lt;br /&gt;
            navi.removeClass('scrolled');&lt;br /&gt;
        };&lt;br /&gt;
&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
        &lt;br /&gt;
        //damit bei einem klick auf einen Navigationslink sanft gescrollt wird&lt;br /&gt;
        var mySmoothScroll = new Fx.SmoothScroll({&lt;br /&gt;
                links: 'a',&lt;br /&gt;
                wheelStops: false,&lt;br /&gt;
               &lt;br /&gt;
                // der offset muss so gross sein, wie die navi hoch ist, damit man beim smoothscroll nicht den eigentlichen Bereich mit der Navi ueberdeckt&lt;br /&gt;
                offset: {&lt;br /&gt;
                         x: 0,&lt;br /&gt;
                         y: -navicoords.height&lt;br /&gt;
                 }&lt;br /&gt;
         });&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So sollte das schon funktionieren. Allerdings ergibt sich nun folgendes Problem:&lt;br /&gt;
Sobald die navi die Klasse scrolled erhält und auf Position:fixed steht, wird sie aus dem normalen HTML Fluss gerissen. Das macht sich dann dadurch bemerkbar, dass der nachstehende Inhalt nach oben springt, und zwar soweit, wie die Navi vorher hoch war. Das beheben wir einfach, indem wir dem nächsten relativen Element einfach ein margin-top verpassen. In unserem Beispiel ist das das dienste div.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
        dienste.set('style','margin-top:'+navicoords.height+'px');&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das kommt dann gleich hinter der Klassenvergabe. Und wenn man wieder in den Normalzustand springt, muss der Margin wieder weg.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
        dienste.set('style','margin-top:0');&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das war die ganze Hexerei mit der Positionierung. Demnächst folgt dann darauf aufbauend die Beschreibung, wie man die Links in der Navigation auf aktiv schaltet, wenn man sich in dem jeweiligen Bereich befindet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Stefanmelz|Stefanmelz]] 23:15, 10. Sep. 2012 (CEST)&lt;/div&gt;</summary>
		<author><name>Stefanmelz</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Docked_Navigation</id>
		<title>Docked Navigation</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Docked_Navigation"/>
				<updated>2012-09-11T10:45:27Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanmelz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Sonstiges]]&lt;br /&gt;
&lt;br /&gt;
= docked Navigation =&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
In diesem Tutorial möchte ich beschreiben, wie man eine Navigation einrichtet, welche beim scrollen ab einem gewissen Punkt an der oberen Kante des Fensters andockt.&lt;br /&gt;
bsp.[http://www.stefanmelz.de stefanmelz.de]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Aufbau des HTML ==&lt;br /&gt;
&lt;br /&gt;
Das ist eigentlich recht simpel. Man benötigt zu allererst das Grundgerüst. Einmal angenommen, man hat auf der Seite 3 Bereiche, welche man ansteuern möchte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
      &amp;lt;div id=&amp;quot;navi&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div id=“dienste“&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div id=“arbeiten“&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div id=“profil“&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Das ganze kann noch verpackt sein und weitere Elemente davor und dahinter enthalten, das ist irrelevant. Wichtig ist, dass die Navigation und die anszusprechenden Bereiche eine eindeutige ID oder Klasse haben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Die Navigation ==&lt;br /&gt;
&lt;br /&gt;
Eine Standard Navigation ist eine einfache unsortierte Liste. Da man auf der Seite bleiben soll, braucht man hier lediglich Anker. Das HTML kommt dann so in das div mit der ID „navi“.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li class=&amp;quot;dienste&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#top&amp;quot;&amp;gt;Dienstleistungen&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li class=&amp;quot;arbeiten&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#arbeiten&amp;quot;&amp;gt;Arbeitsbeispiele&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li class=&amp;quot;profil&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#profil&amp;quot;&amp;gt;Profil und Kontakt&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Navigation funktioniert also ohne Javascript schonmal ganz gut und ist so nun einsetzbar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Das Javascript / CSS ==&lt;br /&gt;
&lt;br /&gt;
Nun möchte man nicht immer wieder nach oben scrollen um die Navigation benutzen zu können. Diese soll immer am oberen Fensterrand „kleben“ bleiben. Allerdings erst, wenn die Navigation aus dem sichtbaren Bereich verschwinden würde. Dazu benötigt man ein wenig Javascript und CSS.&lt;br /&gt;
&lt;br /&gt;
=== CSS ===&lt;br /&gt;
&lt;br /&gt;
Um die Navigation am oberen Fensterrand zu positionieren ist nichts weiter nötig als die CSS Angabe: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
position:fixed;&lt;br /&gt;
top:0;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Rest ist stark davon abhängig wie die Navigation aussieht und wo die Seite platziert ist. Soll zum Beispiel die komplette Bildschirmbreite eingenommen werden, fügen wie hinzu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
width:100%;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dieses CSS wird in die klasse „scrolled“ gepackt. Das sieht dann im Endeffekt so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
.scrolled {&lt;br /&gt;
	position:fixed;&lt;br /&gt;
	top:0;&lt;br /&gt;
	width:100%;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== JS ===&lt;br /&gt;
&lt;br /&gt;
Nun soll die klasse „scrolled“ der Navigation zugewiesen werden, sobald diese aus dem sichtbaren Bereich verschwinden würde. Dazu muss die Position der Navigation ermittelt werden. Mootools hilft da mit der Methode getCoordinates(); Das ganze soll erst starten, wenn das DOM aufgebaut ist. Also in die eingebundene JS Datei folgendes schreiben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
window.addEvent('domready',function(){&lt;br /&gt;
&lt;br /&gt;
	//das selektierte Element in eine Variable packen um schreibarbeit und performance zu sparen&lt;br /&gt;
	var navi = $('navi');&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	//dann die Koordinaten der Navigation abfragen und in eine Variable packen&lt;br /&gt;
	var navicoords = navi.getCoordinates();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	//nun soll alles weitere passieren, sobald man scrolled, also ein neues Event hinzufügen&lt;br /&gt;
        window.addEvent('scroll',function(){&lt;br /&gt;
&lt;br /&gt;
        //den aktuellen Scrollstatus fragt man hiermit ab&lt;br /&gt;
        var scroll = this.getScroll();&lt;br /&gt;
&lt;br /&gt;
        //jetzt der abgleich fensterposition mit navigationsposition&lt;br /&gt;
        if(scroll.y &amp;gt;  navicoords.top)&lt;br /&gt;
        {&lt;br /&gt;
            //und nun der Navigation die Klasse scrolled geben&lt;br /&gt;
            navi.addClass('scrolled');&lt;br /&gt;
        }else&lt;br /&gt;
        {&lt;br /&gt;
            //die klasse scrolled wieder entfernen&lt;br /&gt;
            navi.removeClass('scrolled');&lt;br /&gt;
        };&lt;br /&gt;
&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
        &lt;br /&gt;
        //damit bei einem klick auf einen Navigationslink sanft gescrollt wird&lt;br /&gt;
        var mySmoothScroll = new Fx.SmoothScroll({&lt;br /&gt;
                links: 'a',&lt;br /&gt;
                wheelStops: false,&lt;br /&gt;
               &lt;br /&gt;
                // der offset muss so gross sein, wie die navi hoch ist, damit man beim smoothscroll nicht den eigentlichen Bereich mit der Navi ueberdeckt&lt;br /&gt;
                offset: {&lt;br /&gt;
                         x: 0,&lt;br /&gt;
                         y: -navicoords.height&lt;br /&gt;
                 }&lt;br /&gt;
         });&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das war die ganze Hexerei mit der Positionierung. Demnächst folgt dann darauf aufbauend die Beschreibung, wie man die Links in der Navigation auf aktiv schaltet, wenn man sich in dem jeweiligen Bereich befindet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Stefanmelz|Stefanmelz]] 23:15, 10. Sep. 2012 (CEST)&lt;/div&gt;</summary>
		<author><name>Stefanmelz</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Docked_Navigation</id>
		<title>Docked Navigation</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Docked_Navigation"/>
				<updated>2012-09-10T21:22:43Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanmelz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Sonstiges]]&lt;br /&gt;
&lt;br /&gt;
= docked Navigation =&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
In diesem Tutorial möchte ich beschreiben, wie man eine Navigation einrichtet, welche beim scrollen ab einem gewissen Punkt an der oberen Kante des Fensters andockt.&lt;br /&gt;
bsp.[http://www.stefanmelz.de stefanmelz.de]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Aufbau des HTML ==&lt;br /&gt;
&lt;br /&gt;
Das ist eigentlich recht simpel. Man benötigt zu allererst das Grundgerüst. Einmal angenommen, man hat auf der Seite 3 Bereiche, welche man ansteuern möchte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
      &amp;lt;div id=&amp;quot;navi&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div id=“dienste“&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div id=“arbeiten“&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div id=“profil“&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Das ganze kann noch verpackt sein und weitere Elemente davor und dahinter enthalten, das ist irrelevant. Wichtig ist, dass die Navigation und die anszusprechenden Bereiche eine eindeutige ID oder Klasse haben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Die Navigation ==&lt;br /&gt;
&lt;br /&gt;
Eine Standard Navigation ist eine einfache unsortierte Liste. Da man auf der Seite bleiben soll, braucht man hier lediglich Anker. Das HTML kommt dann so in das div mit der ID „navi“.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li class=&amp;quot;dienste&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#top&amp;quot;&amp;gt;Dienstleistungen&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li class=&amp;quot;arbeiten&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#arbeiten&amp;quot;&amp;gt;Arbeitsbeispiele&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li class=&amp;quot;profil&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#profil&amp;quot;&amp;gt;Profil und Kontakt&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Navigation funktioniert also ohne Javascript schonmal ganz gut und ist so nun einsetzbar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Das Javascript / CSS ==&lt;br /&gt;
&lt;br /&gt;
Nun möchte man nicht immer wieder nach oben scrollen um die Navigation benutzen zu können. Diese soll immer am oberen Fensterrand „kleben“ bleiben. Allerdings erst, wenn die Navigation aus dem sichtbaren Bereich verschwinden würde. Dazu benötigt man ein wenig Javascript und CSS.&lt;br /&gt;
&lt;br /&gt;
=== CSS ===&lt;br /&gt;
&lt;br /&gt;
Um die Navigation am oberen Fensterrand zu positionieren ist nichts weiter nötig als die CSS Angabe: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
position:fixed;&lt;br /&gt;
top:0;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Rest ist stark davon abhängig wie die Navigation aussieht und wo die Seite platziert ist. Soll zum Beispiel die komplette Bildschirmbreite eingenommen werden, fügen wie hinzu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
width:100%;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dieses CSS wird in die klasse „scrolled“ gepackt. Das sieht dann im Endeffekt so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
.scrolled {&lt;br /&gt;
	position:fixed;&lt;br /&gt;
	top:0;&lt;br /&gt;
	width:100%;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== JS ===&lt;br /&gt;
&lt;br /&gt;
Nun soll die klasse „scrolled“ der Navigation zugewiesen werden, sobald diese aus dem sichtbaren Bereich verschwinden würde. Dazu muss die Position der Navigation ermittelt werden. Mootools hilft da mit der Methode getCoordinates(); Das ganze soll erst starten, wenn das DOM aufgebaut ist. Also in die eingebundene JS Datei folgendes schreiben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
window.addEvent('domready',function(){&lt;br /&gt;
&lt;br /&gt;
	//das selektierte Element in eine Variable packen um schreibarbeit und performance zu sparen&lt;br /&gt;
	var navi = $('navi');&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	//dann die Koordinaten der Navigation abfragen und in eine Variable packen&lt;br /&gt;
	var navicoords = navi.getCoordinates();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	//nun soll alles weitere passieren, sobald man scrolled, also ein neues Event hinzufügen&lt;br /&gt;
	window.addEvent('scroll',function(){&lt;br /&gt;
	&lt;br /&gt;
		//den aktuellen Scrollstatus fragt man hiermit ab&lt;br /&gt;
		var scroll = this.getScroll();&lt;br /&gt;
	&lt;br /&gt;
		//jetzt der abgleich fensterposition mit navigationsposition&lt;br /&gt;
		if((scroll.y)) &amp;gt; navicoords.top)&lt;br /&gt;
		{&lt;br /&gt;
			//und nun der Navigation die Klasse scrolled geben&lt;br /&gt;
			 navi.addClass('scrolled');&lt;br /&gt;
		}&lt;br /&gt;
		//ist die Navigation wieder sichtbar, negieren man das ganze wieder&lt;br /&gt;
		else&lt;br /&gt;
		{&lt;br /&gt;
			//die klasse scrolled wieder entfernen&lt;br /&gt;
			navi.removeClass('scrolled');&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
	});&lt;br /&gt;
        &lt;br /&gt;
        //damit bei einem klick auf einen Navigationslink sanft gescrollt wird&lt;br /&gt;
        var mySmoothScroll = new Fx.SmoothScroll({&lt;br /&gt;
                links: 'a',&lt;br /&gt;
                wheelStops: false,&lt;br /&gt;
               &lt;br /&gt;
                // der offset muss so gross sein, wie die navi hoch ist, damit man beim smoothscroll nicht den eigentlichen Bereich mit der Navi ueberdeckt&lt;br /&gt;
                offset: {&lt;br /&gt;
                         x: 0,&lt;br /&gt;
                         y: -navicoords.height&lt;br /&gt;
                 }&lt;br /&gt;
         });&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das war die ganze Hexerei mit der Positionierung. Demnächst folgt dann darauf aufbauend die Beschreibung, wie man die Links in der Navigation auf aktiv schaltet, wenn man sich in dem jeweiligen Bereich befindet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Stefanmelz|Stefanmelz]] 23:15, 10. Sep. 2012 (CEST)&lt;/div&gt;</summary>
		<author><name>Stefanmelz</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Docked_Navigation</id>
		<title>Docked Navigation</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Docked_Navigation"/>
				<updated>2012-09-10T21:22:18Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanmelz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Sonstiges]]&lt;br /&gt;
&lt;br /&gt;
= docked Navigation =&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
In diesem Tutorial möchte ich beschreiben, wie man eine Navigation einrichtet, welche beim scrollen ab einem gewissen Punkt an der oberen Kante des Fensters andockt.&lt;br /&gt;
bsp.[http://www.stefanmelz.de stefanmelz.de]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Aufbau des HTML ==&lt;br /&gt;
&lt;br /&gt;
Das ist eigentlich recht simpel. Man benötigt zu allererst das Grundgerüst. Einmal angenommen, man hat auf der Seite 3 Bereiche, welche man ansteuern möchte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
      &amp;lt;div id=&amp;quot;navi&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div id=“dienste“&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div id=“arbeiten“&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div id=“profil“&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Das ganze kann noch verpackt sein und weitere Elemente davor und dahinter enthalten, das ist irrelevant. Wichtig ist, dass die Navigation und die anszusprechenden Bereiche eine eindeutige ID oder Klasse haben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Die Navigation ==&lt;br /&gt;
&lt;br /&gt;
Eine Standard Navigation ist eine einfache unsortierte Liste. Da man auf der Seite bleiben soll, braucht man hier lediglich Anker. Das HTML kommt dann so in das div mit der ID „navi“.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li class=&amp;quot;dienste&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#top&amp;quot;&amp;gt;Dienstleistungen&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li class=&amp;quot;arbeiten&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#arbeiten&amp;quot;&amp;gt;Arbeitsbeispiele&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li class=&amp;quot;profil&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#profil&amp;quot;&amp;gt;Profil und Kontakt&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Navigation funktioniert also ohne Javascript schonmal ganz gut und ist so nun einsetzbar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Das Javascript / CSS ==&lt;br /&gt;
&lt;br /&gt;
Nun möchte man nicht immer wieder nach oben scrollen um die Navigation benutzen zu können. Diese soll immer am oberen Fensterrand „kleben“ bleiben. Allerdings erst, wenn die Navigation aus dem sichtbaren Bereich verschwinden würde. Dazu benötigt man ein wenig Javascript und CSS.&lt;br /&gt;
&lt;br /&gt;
=== CSS ===&lt;br /&gt;
&lt;br /&gt;
Um die Navigation am oberen Fensterrand zu positionieren ist nichts weiter nötig als die CSS Angabe: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
position:fixed;&lt;br /&gt;
top:0;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Rest ist stark davon abhängig wie die Navigation aussieht und wo die Seite platziert ist. Soll zum Beispiel die komplette Bildschirmbreite eingenommen werden, fügen wie hinzu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
width:100%;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dieses CSS wird in die klasse „scrolled“ gepackt. Das sieht dann im Endeffekt so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
.scrolled {&lt;br /&gt;
	position:fixed;&lt;br /&gt;
	top:0;&lt;br /&gt;
	width:100%;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== JS ===&lt;br /&gt;
&lt;br /&gt;
Nun soll die klasse „scrolled“ der Navigation zugewiesen werden, sobald diese aus dem sichtbaren Bereich verschwinden würde. Dazu muss die Position der Navigation ermittelt werden. Mootools hilft da mit der Methode getCoordinates(); Das ganze soll erst starten, wenn das DOM aufgebaut ist. Also in die eingebundene JS Datei folgendes schreiben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
window.addEvent('domready',function(){&lt;br /&gt;
&lt;br /&gt;
	//das selektierte Element in eine Variable packen um schreibarbeit und performance zu sparen&lt;br /&gt;
	var navi = $('navi');&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	//dann die Koordinaten der Navigation abfragen und in eine Variable packen&lt;br /&gt;
	var navicoords = navi.getCoordinates();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	//nun soll alles weitere passieren, sobald man scrolled, also ein neues Event hinzufügen&lt;br /&gt;
	window.addEvent('scroll',function(){&lt;br /&gt;
	&lt;br /&gt;
		//den aktuellen Scrollstatus fragt man hiermit ab&lt;br /&gt;
		var scroll = this.getScroll();&lt;br /&gt;
	&lt;br /&gt;
		//jetzt der abgleich fensterposition mit navigationsposition&lt;br /&gt;
		if((scroll.y)) &amp;gt; navicoords.top)&lt;br /&gt;
		{&lt;br /&gt;
			//und nun der Navigation die Klasse scrolled geben&lt;br /&gt;
			 navi.addClass('scrolled');&lt;br /&gt;
		}&lt;br /&gt;
		//ist die Navigation wieder sichtbar, negieren man das ganze wieder&lt;br /&gt;
		else&lt;br /&gt;
		{&lt;br /&gt;
			//die klasse scrolled wieder entfernen&lt;br /&gt;
			navi.removeClass('scrolled');&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
	})&lt;br /&gt;
        &lt;br /&gt;
        //damit bei einem klick auf einen Navigationslink sanft gescrollt wird&lt;br /&gt;
        var mySmoothScroll = new Fx.SmoothScroll({&lt;br /&gt;
                links: 'a',&lt;br /&gt;
                wheelStops: false,&lt;br /&gt;
               &lt;br /&gt;
                // der offset muss so gross sein, wie die navi hoch ist, damit man beim smoothscroll nicht den eigentlichen Bereich mit der Navi ueberdeckt&lt;br /&gt;
                offset: {&lt;br /&gt;
                         x: 0,&lt;br /&gt;
                         y: -navicoords.height&lt;br /&gt;
                 }&lt;br /&gt;
         });&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das war die ganze Hexerei mit der Positionierung. Demnächst folgt dann darauf aufbauend die Beschreibung, wie man die Links in der Navigation auf aktiv schaltet, wenn man sich in dem jeweiligen Bereich befindet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Stefanmelz|Stefanmelz]] 23:15, 10. Sep. 2012 (CEST)&lt;/div&gt;</summary>
		<author><name>Stefanmelz</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Docked_Navigation</id>
		<title>Docked Navigation</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Docked_Navigation"/>
				<updated>2012-09-10T21:21:28Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanmelz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Sonstiges]]&lt;br /&gt;
&lt;br /&gt;
= docked Navigation =&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
In diesem Tutorial möchte ich beschreiben, wie man eine Navigation einrichtet, welche beim scrollen ab einem gewissen Punkt an der oberen Kante des Fensters andockt.&lt;br /&gt;
bsp.[http://www.stefanmelz.de stefanmelz.de]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Aufbau des HTML ==&lt;br /&gt;
&lt;br /&gt;
Das ist eigentlich recht simpel. Man benötigt zu allererst das Grundgerüst. Einmal angenommen, man hat auf der Seite 3 Bereiche, welche man ansteuern möchte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
      &amp;lt;div id=&amp;quot;navi&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div id=“dienste“&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div id=“arbeiten“&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div id=“profil“&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Das ganze kann noch verpackt sein und weitere Elemente davor und dahinter enthalten, das ist irrelevant. Wichtig ist, dass die Navigation und die anszusprechenden Bereiche eine eindeutige ID oder Klasse haben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Die Navigation ==&lt;br /&gt;
&lt;br /&gt;
Eine Standard Navigation ist eine einfache unsortierte Liste. Da man auf der Seite bleiben soll, braucht man hier lediglich Anker. Das HTML kommt dann so in das div mit der ID „navi“.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li class=&amp;quot;dienste&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#top&amp;quot;&amp;gt;Dienstleistungen&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li class=&amp;quot;arbeiten&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#arbeiten&amp;quot;&amp;gt;Arbeitsbeispiele&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li class=&amp;quot;profil&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#profil&amp;quot;&amp;gt;Profil und Kontakt&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Navigation funktioniert also ohne Javascript schonmal ganz gut und ist so nun einsetzbar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Das Javascript / CSS ==&lt;br /&gt;
&lt;br /&gt;
Nun möchte man nicht immer wieder nach oben scrollen um die Navigation benutzen zu können. Diese soll immer am oberen Fensterrand „kleben“ bleiben. Allerdings erst, wenn die Navigation aus dem sichtbaren Bereich verschwinden würde. Dazu benötigt man ein wenig Javascript und CSS.&lt;br /&gt;
&lt;br /&gt;
=== CSS ===&lt;br /&gt;
&lt;br /&gt;
Um die Navigation am oberen Fensterrand zu positionieren ist nichts weiter nötig als die CSS Angabe: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
position:fixed;&lt;br /&gt;
top:0;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Rest ist stark davon abhängig wie die Navigation aussieht und wo die Seite platziert ist. Soll zum Beispiel die komplette Bildschirmbreite eingenommen werden, fügen wie hinzu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
width:100%;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dieses CSS wird in die klasse „scrolled“ gepackt. Das sieht dann im Endeffekt so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
.scrolled {&lt;br /&gt;
	position:fixed;&lt;br /&gt;
	top:0;&lt;br /&gt;
	width:100%;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== JS ===&lt;br /&gt;
&lt;br /&gt;
Nun soll die klasse „scrolled“ der Navigation zugewiesen werden, sobald diese aus dem sichtbaren Bereich verschwinden würde. Dazu muss die Position der Navigation ermittelt werden. Mootools hilft da mit der Methode getCoordinates(); Das ganze soll erst starten, wenn das DOM aufgebaut ist. Also in die eingebundene JS Datei folgendes schreiben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
window.addEvent('domready',function(){&lt;br /&gt;
&lt;br /&gt;
	//das selektierte Element in eine Variable packen um schreibarbeit und performance zu sparen&lt;br /&gt;
	var navi = $('navi');&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	//dann die Koordinaten der Navigation abfragen und in eine Variable packen&lt;br /&gt;
	var navicoords = navi.getCoordinates();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	//nun soll alles weitere passieren, sobald man scrolled, also ein neues Event hinzufügen&lt;br /&gt;
	window.addEvent('scroll',function(){&lt;br /&gt;
	&lt;br /&gt;
		//den aktuellen Scrollstatus fragt man hiermit ab&lt;br /&gt;
		var scroll = this.getScroll();&lt;br /&gt;
	&lt;br /&gt;
		//jetzt der abgleich fensterposition mit navigationsposition&lt;br /&gt;
		if((scroll.y)) &amp;gt; navicoords.top)&lt;br /&gt;
		{&lt;br /&gt;
			//und nun der Navigation die Klasse scrolled geben&lt;br /&gt;
			 navi.addClass('scrolled');&lt;br /&gt;
		}&lt;br /&gt;
		//ist die Navigation wieder sichtbar, negieren man das ganze wieder&lt;br /&gt;
		else&lt;br /&gt;
		{&lt;br /&gt;
			//die klasse scrolled wieder entfernen&lt;br /&gt;
			navi.removeClass('scrolled');&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
	})&lt;br /&gt;
        &lt;br /&gt;
        //damit bei einem klick auf einen Navigationslink sanft gescrollt wird&lt;br /&gt;
        var mySmoothScroll = new Fx.SmoothScroll({&lt;br /&gt;
                links: 'a',&lt;br /&gt;
                wheelStops: false,&lt;br /&gt;
               &lt;br /&gt;
                // der offset muss so gross sein, wie die navi hoch ist, damit man beim smoothscroll nicht den eigentlichen Bereich mit der Navi ueberdeckt&lt;br /&gt;
                offset: {&lt;br /&gt;
                         x: 0,&lt;br /&gt;
                         y: -navicoords.height&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das war die ganze Hexerei mit der Positionierung. Demnächst folgt dann darauf aufbauend die Beschreibung, wie man die Links in der Navigation auf aktiv schaltet, wenn man sich in dem jeweiligen Bereich befindet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Stefanmelz|Stefanmelz]] 23:15, 10. Sep. 2012 (CEST)&lt;/div&gt;</summary>
		<author><name>Stefanmelz</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Docked_Navigation</id>
		<title>Docked Navigation</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Docked_Navigation"/>
				<updated>2012-09-10T21:15:56Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanmelz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Sonstiges]]&lt;br /&gt;
&lt;br /&gt;
= docked Navigation =&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
In diesem Tutorial möchte ich beschreiben, wie man eine Navigation einrichtet, welche beim scrollen ab einem gewissen Punkt an der oberen Kante des Fensters andockt.&lt;br /&gt;
bsp.[http://www.stefanmelz.de stefanmelz.de]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Aufbau des HTML ==&lt;br /&gt;
&lt;br /&gt;
Das ist eigentlich recht simpel. Man benötigt zu allererst das Grundgerüst. Einmal angenommen, man hat auf der Seite 3 Bereiche, welche man ansteuern möchte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
      &amp;lt;div id=&amp;quot;navi&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div id=“dienste“&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div id=“arbeiten“&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div id=“profil“&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Das ganze kann noch verpackt sein und weitere Elemente davor und dahinter enthalten, das ist irrelevant. Wichtig ist, dass die Navigation und die anszusprechenden Bereiche eine eindeutige ID oder Klasse haben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Die Navigation ==&lt;br /&gt;
&lt;br /&gt;
Eine Standard Navigation ist eine einfache unsortierte Liste. Da man auf der Seite bleiben soll, braucht man hier lediglich Anker. Das HTML kommt dann so in das div mit der ID „navi“.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li class=&amp;quot;dienste&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#top&amp;quot;&amp;gt;Dienstleistungen&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li class=&amp;quot;arbeiten&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#arbeiten&amp;quot;&amp;gt;Arbeitsbeispiele&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li class=&amp;quot;profil&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#profil&amp;quot;&amp;gt;Profil und Kontakt&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Navigation funktioniert also ohne Javascript schonmal ganz gut und ist so nun einsetzbar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Das Javascript / CSS ==&lt;br /&gt;
&lt;br /&gt;
Nun möchte man nicht immer wieder nach oben scrollen um die Navigation benutzen zu können. Diese soll immer am oberen Fensterrand „kleben“ bleiben. Allerdings erst, wenn die Navigation aus dem sichtbaren Bereich verschwinden würde. Dazu benötigt man ein wenig Javascript und CSS.&lt;br /&gt;
&lt;br /&gt;
=== CSS ===&lt;br /&gt;
&lt;br /&gt;
Um die Navigation am oberen Fensterrand zu positionieren ist nichts weiter nötig als die CSS Angabe: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
position:fixed;&lt;br /&gt;
top:0;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Rest ist stark davon abhängig wie die Navigation aussieht und wo die Seite platziert ist. Soll zum Beispiel die komplette Bildschirmbreite eingenommen werden, fügen wie hinzu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
width:100%;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dieses CSS wird in die klasse „scrolled“ gepackt. Das sieht dann im Endeffekt so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
.scrolled {&lt;br /&gt;
	position:fixed;&lt;br /&gt;
	top:0;&lt;br /&gt;
	width:100%;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== JS ===&lt;br /&gt;
&lt;br /&gt;
Nun soll die klasse „scrolled“ der Navigation zugewiesen werden, sobald diese aus dem sichtbaren Bereich verschwinden würde. Dazu muss die Position der Navigation ermittelt werden. Mootools hilft da mit der Methode getCoordinates(); Das ganze soll erst starten, wenn das DOM aufgebaut ist. Also in die eingebundene JS Datei folgendes schreiben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
window.addEvent('domready',function(){&lt;br /&gt;
&lt;br /&gt;
	//das selektierte Element in eine Variable packen um schreibarbeit und performance zu sparen&lt;br /&gt;
	var navi = $('navi');&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	//dann die Koordinaten der Navigation abfragen und in eine Variable packen&lt;br /&gt;
	var navicoords = navi.getCoordinates();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	//nun soll alles weitere passieren, sobald man scrolled, also ein neues Event hinzufügen&lt;br /&gt;
	window.addEvent('scroll',function(){&lt;br /&gt;
	&lt;br /&gt;
		//den aktuellen Scrollstatus fragt man hiermit ab&lt;br /&gt;
		var scroll = this.getScroll();&lt;br /&gt;
	&lt;br /&gt;
		//jetzt der abgleich fensterposition mit navigationsposition&lt;br /&gt;
		if((scroll.y)) &amp;gt; navicoords.top)&lt;br /&gt;
		{&lt;br /&gt;
			//und nun der Navigation die Klasse scrolled geben&lt;br /&gt;
			 navi.addClass('scrolled');&lt;br /&gt;
		}&lt;br /&gt;
		//ist die Navigation wieder sichtbar, negieren man das ganze wieder&lt;br /&gt;
		else&lt;br /&gt;
		{&lt;br /&gt;
			//die klasse scrolled wieder entfernen&lt;br /&gt;
			navi.removeClass('scrolled');&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
	})&lt;br /&gt;
&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das war die ganze Hexerei mit der Positionierung. Demnächst folgt dann darauf aufbauend die Beschreibung, wie man die Links in der Navigation auf aktiv schaltet, wenn man sich in dem jeweiligen Bereich befindet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Stefanmelz|Stefanmelz]] 23:15, 10. Sep. 2012 (CEST)&lt;/div&gt;</summary>
		<author><name>Stefanmelz</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Docked_Navigation</id>
		<title>Docked Navigation</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Docked_Navigation"/>
				<updated>2012-09-10T21:13:55Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanmelz: Die Seite wurde neu angelegt: „Category: Sonstiges  = docked Navigation =  == Einleitung ==  In diesem Tutorial möchte ich beschreiben, wie man eine Navigation einrichtet, welche beim scro…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Sonstiges]]&lt;br /&gt;
&lt;br /&gt;
= docked Navigation =&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
In diesem Tutorial möchte ich beschreiben, wie man eine Navigation einrichtet, welche beim scrollen ab einem gewissen Punkt an der oberen Kante des Fensters andockt.&lt;br /&gt;
bsp.[http://www.stefanmelz.de stefanmelz.de]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Aufbau des HTML ==&lt;br /&gt;
&lt;br /&gt;
Das ist eigentlich recht simpel. Man benötigt zu allererst das Grundgerüst. Einmal angenommen, man hat auf der Seite 3 Bereiche, welche man ansteuern möchte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
      &amp;lt;div id=&amp;quot;navi&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div id=“dienste“&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div id=“arbeiten“&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div id=“profil“&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Das ganze kann noch verpackt sein und weitere Elemente davor und dahinter enthalten, das ist irrelevant. Wichtig ist, dass die Navigation und die anszusprechenden Bereiche eine eindeutige ID oder Klasse haben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Die Navigation ==&lt;br /&gt;
&lt;br /&gt;
Eine Standard Navigation ist eine einfache unsortierte Liste. Da man auf der Seite bleiben soll, braucht man hier lediglich Anker. Das HTML kommt dann so in das div mit der ID „navi“.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li class=&amp;quot;dienste&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#top&amp;quot;&amp;gt;Dienstleistungen&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li class=&amp;quot;arbeiten&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#arbeiten&amp;quot;&amp;gt;Arbeitsbeispiele&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li class=&amp;quot;profil&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#profil&amp;quot;&amp;gt;Profil und Kontakt&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Navigation funktioniert also ohne Javascript schonmal ganz gut und ist so nun einsetzbar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Das Javascript / CSS ==&lt;br /&gt;
&lt;br /&gt;
Nun möchte man nicht immer wieder nach oben scrollen um die Navigation benutzen zu können. Diese soll immer am oberen Fensterrand „kleben“ bleiben. Allerdings erst, wenn die Navigation aus dem sichtbaren Bereich verschwinden würde. Dazu benötigt man ein wenig Javascript und CSS.&lt;br /&gt;
&lt;br /&gt;
=== CSS ===&lt;br /&gt;
&lt;br /&gt;
Um die Navigation am oberen Fensterrand zu positionieren ist nichts weiter nötig als die CSS Angabe: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
position:fixed;&lt;br /&gt;
top:0;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Rest ist stark davon abhängig wie die Navigation aussieht und wo die Seite platziert ist. Soll zum Beispiel die komplette Bildschirmbreite eingenommen werden, fügen wie hinzu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
width:100%;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dieses CSS wird in die klasse „scrolled“ gepackt. Das sieht dann im Endeffekt so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
.scrolled {&lt;br /&gt;
	position:fixed;&lt;br /&gt;
	top:0;&lt;br /&gt;
	width:100%;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== JS ===&lt;br /&gt;
&lt;br /&gt;
Nun soll die klasse „scrolled“ der Navigation zugewiesen werden, sobald diese aus dem sichtbaren Bereich verschwinden würde. Dazu muss die Position der Navigation ermittelt werden. Mootools hilft da mit der Methode getCoordinates(); Das ganze soll erst starten, wenn das DOM aufgebaut ist. Also in die eingebundene JS Datei folgendes schreiben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
window.addEvent('domready',function(){&lt;br /&gt;
&lt;br /&gt;
	//das selektierte Element in eine Variable packen um schreibarbeit und performance zu sparen&lt;br /&gt;
	var navi = $('navi');&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	//dann die Koordinaten der Navigation abfragen und in eine Variable packen&lt;br /&gt;
	var navicoords = navi.getCoordinates();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	//nun soll alles weitere passieren, sobald man scrolled, also ein neues Event hinzufügen&lt;br /&gt;
	window.addEvent('scroll',function(){&lt;br /&gt;
	&lt;br /&gt;
		//den aktuellen Scrollstatus fragt man hiermit ab&lt;br /&gt;
		var scroll = this.getScroll();&lt;br /&gt;
	&lt;br /&gt;
		//jetzt der abgleich fensterposition mit navigationsposition&lt;br /&gt;
		if((scroll.y)) &amp;gt; navicoords.top)&lt;br /&gt;
		{&lt;br /&gt;
			//und nun der Navigation die Klasse scrolled geben&lt;br /&gt;
			 navi.addClass('scrolled');&lt;br /&gt;
		}&lt;br /&gt;
		//ist die Navigation wieder sichtbar, negieren man das ganze wieder&lt;br /&gt;
		else&lt;br /&gt;
		{&lt;br /&gt;
			//die klasse scrolled wieder entfernen&lt;br /&gt;
			navi.removeClass('scrolled');&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
	})&lt;br /&gt;
&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das war die ganze Hexerei mit der Positionierung. Demnächst folgt dann darauf aufbauend die Beschreibung, wie man die Links in der Navigation auf aktiv schaltet, wenn man sich in dem jeweiligen Bereich befindet.&lt;/div&gt;</summary>
		<author><name>Stefanmelz</name></author>	</entry>

	</feed>