Zoals je weet zijn er rond deze dagen een groot aantal concurrerende javascript-bibliotheken. Hoewel ik jQuery verkies, heb ik altijd genoten van de manier waarop het menu op MooTools werkte. Dus in deze zelfstudie maken we hetzelfde effect opnieuw ... maar we doen het in jQuery!
Laten we beginnen met het schrijven van de benodigde HTML om een eenvoudige verticale navigatie te maken. Voor de structuur gebruiken we, zoals je misschien al geraden hebt, een ongeordende lijst met de ID-naam "Sliding-navigatie". Ook zullen we enkele links toevoegen en elk item in de lijst geven de klassenaam "Sliding-element".
Ik ga ook een titelelement toevoegen. Dit is een handig iets om zoveel WordPress-blogs te doen hebben met titelelementen in de zijbalknavigatie (bijvoorbeeld 'Archieven'). Dus het zou er ongeveer zo uitzien:
Laten we nu een HTML-document maken waarin we het werk kunnen doen dat we net deden. Maak een nieuw HTML-bestand en noem het demo.html. Open vervolgens dit bestand met uw favoriete teksteditor en voeg de volgende code in:
Navigatie-effect met behulp van jQuery
Navigatietitel
- Link 1
- Link 2
- Link 3
- Link 4
- Link 5
Er zijn een paar dingen om op te merken:
Nu we ons HTML-bestand hebben gelabeld en werken, laten we enkele stijlen toevoegen. Vergeet niet dat ons HTML-document verwijst naar een CSS-bestand met de naam styles.css. Laten we beginnen met het maken van een bestand met de naam styles.css en het opslaan in dezelfde map waar ons HTML-document zich bevindt. Zoals we in de vorige stap hebben gedaan, opent u dit bestand met uw favoriete teksteditor en voegt u de volgende code in:
body marge: 0; opvulling: 0; achtergrond: # 1d1d1d; font-family: "Lucida Grande", Verdana, sans-serif; tekengrootte: 100%; ul # glijdende navigatie lijststijl: geen; lettertypegrootte: .75em; marge: 30 px 0; ul # glijdende navigatie li.sliding-element h3, ul # sliding-navigatie li.sliding-element a display: block; breedte: 150 px; opvulling: 5px 15px; marge: 0; margin-bottom: 5px; ul # sliding-navigation li.sliding-element h3 color: #fff; achtergrond: # 333; rand: 1px vast # 1a1a1a; font-gewicht: normaal; ul # sliding-navigation li.sliding-element a color: # 999; achtergrond: # 222; rand: 1px vast # 1a1a1a; tekstdecoratie: geen; ul # sliding-navigation li.sliding-element a: hover color: # ffff66;
Op dit punt ziet uw demo.html-pagina er ongeveer zo uit:
Het is dus eindelijk tijd om jQuery te gaan gebruiken. Maar voordat we kunnen beginnen, moeten we een paar dingen doen:
Dit is wat uw HTML-bestand is
zou er nu uit moeten zien:Navigatie-effect met behulp van jQuery
Nu zullen we de functie creëren die al het "zware" hijsen doet om het glijdende effect te laten werken. Deze functie neemt vijf parameters (navigation_id, pad_out, pad_in, time en multiplier) en gebruikt ze als volgt:
Open uw sliding_effect.js-bestand en voeg de volgende code in:
functiedia (navigation_id, pad_out, pad_in, time, multiplier) // creëert de doelpaden var list_elements = navigation_id + "li.sliding-element"; var link_elements = list_elements + "a"; // initieert de timer die wordt gebruikt voor de schuifanimatie var timer = 0; // maakt de dia-animatie voor alle lijstelementen $ (list_elements) .each (functie (i) // marge links = - ([breedte van element] + [totale verticale opvulling van element]) $ (this) .css ( "margin-left", "- 180px"); // update timer timer = (timer * vermenigvuldiger + tijd); $ (this) .anim (marginLeft: "0", timer); $ (this) .animate (marginLeft: "15px", timer); $ (this) .animate (marginLeft: "0", timer);); // maakt het hover-slide-effect voor alle link-elementen $ (link_elements) .each (functie (i) $ (this) .hover (function () $ (this) .animate (paddingLeft: pad_out, 150) ;, function () $ (this) .anim (paddingLeft: pad_in, 150);););
Alles wat we moeten doen om het script te activeren, is de functie oproepen wanneer de pagina is geladen. Er zijn twee plaatsen om het volgende codefragment te plaatsen. Het kan worden geschreven in het sliding_effect.js bestand (ik heb deze optie gekozen voor deze tutorial) of in de HTML gebeld met een
Door Bedrich Rios
Merk op dat ik de afbeelding in het element "navigation-block" heb toegevoegd en een ID heb gegeven met de naam "hide". Ik heb ook een titelelement en ondertitel toegevoegd. Nu voegen we een beetje extra CSS toe aan ons styles.css-bestand als volgt:
h2 color: # 999; marge-bodem: 0; margin-left: 13px; achtergrond: url (navigatie.jpg) geen herhaling; hoogte: 40px; h2 span display: none; p color: # ffff66; margin-top: .5em; lettertypegrootte: .75em; padding-left: 15px; # navigatie-blok positie: relatief; top: 200px; left: 200px; #hide position: absolute; top: 30px; left: -190px;
Dus eerst in de
Merk ook op dat het element "navigatieblok" nu een relatieve positie heeft, zodat we het beeld "verbergen" naar links kunnen verplaatsen. Hierdoor verschijnen de tabbladen eronder.
Ten slotte heb ik een subtiel achtergrondafbeelding toegevoegd die lijkt op schaduwen:
ul # sliding-navigation li.sliding-element h3 color: #fff; achtergrond: # 333 url (heading_bg.jpg) repeat-y; font-gewicht: normaal;
En we zijn klaar!
Bekijk het uiteindelijke effect
Download de HTML / afbeeldingen / JS