, het opzetten van een lavalamp stijl van navigatie,,,,,,,,,, 2, 16 aandelen,,,,,,,, de delen van het netwerk, maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen.,, een paar weken geleden, maakte ik een video, toont aan hoe de oprichting van een niveau drie menu 's.In een e - mail, een van onze lezers verzocht over de bouw van een gids voor de lava lamp - menu 's.Gelukkig, het is een vrij eenvoudige taak, met name wanneer gebruik wordt gemaakt van een javascript.We bouwen een vandaag vanaf nul beginnen.,,,,, wil je?Stap in, 1 -, we kunnen creëren voor de functie van dit netjes, we moeten een basis, uit te werken.In de code van je favoriete redacteur, creëer je een lijst van de navigatie ontregeld en de invoering van dit en dit door de bu, Google, <.DOCTYPE html> <html lang="en"> <head> \t<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> \t<title>SpasticNav Plugin</title> \t<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" /> </head> <body> <div id="container"> \t<ul id="nav"> \t\t<li id="selected"><a href="#">Home</a></li> \t\t<li><a href="#">About</a></li> \t\t<li><a href="#">Blog</a></li> \t\t<li><a href="#">More About My Portfolio</a></li> \t\t<li><a href="#">Contact</a></li> \t</ul> </div> <script src="http://ajax.googleapis.com/Jax en dit: ////////) = 1.4. "Versie" tekst /javascript "> < /scripts > < script type =" tekst /javascript "src = 'http: //Ajax. Googleapis. COM /Ajax /library /jqueryui /1.7.2 /: BU. Versie van" > < /scripts > < - lichaam > < /html > aandacht voor, hoe we een id van de voorpagina van "gekozen".Dat is vrij standaard de meeste websites, het toestaan van het gebruik van de huidige doelstellingen van pagina 's, en de stijl, met name de lijst dienovereenkomstig.De volgende stap moeten we beslissen wat de beste manier is om de functie van lava lamp.Om hergebruik van, we pakken dit script « plugin », en noem het: $("activa", #). Spasticnav ();, omdat we hebben besloten om de oprichting van een « plugin », laten we naar het creëren van een nieuw document, het script, en een verwijzing naar het in de gaten.We noemen het:. Spasticnav. Js, < script type = "tekst /javascript" src = 'J' s /). Spasticnav J 's "> < /scripts > < script type =" tekst /javascript "> $("navigatie "). Spasticnav (); < /scripts > < /gezondheid >, stap 2 plug, vermindering van de variabelen creëren, we moeten het aantal en de dollar, het wegnemen van mogelijke conflicten met de andere javascript symbolen, laten we bij de uitvoering van de « plugin » de anonimiteit zelf (functie ($) {}) (:), nu, dit zal worden; de overdracht naar de plug, en zal de door de vertegenwoordigers van de $teken.De volgende stap, het is een van de beste praktijken, aan de gebruikers van de « plugin » voor zoveel mogelijk flexibiliteit.Dus geven we ze in een object letterlijk de optie die, als ze bellen voor een vaststelling van de « plugin ».Naar mijn mening moeten zij kunnen:,, onze kleine groep overlappen.Dit is meer dan de menu 's in de blubber hoe hoog is.Die snelheid, reset, zodat de huidige plek terug naar projecten (in de veronderstelling dat de gebruikers geen blz. Een klik op de link), de kleur van de vlekken.Dit kan worden bereikt door het gebruik van de CSS, maar dit is een heel goed uitkomt, maar.Een van de opties, ontspannen.En nu, zullen we ons van de « plugin » genoemd, en die gelijk is aan een functie.Dollar. In jquery.prototype gewoon een alias.De dollar. Fn.spasticnav = functie (facultatief) {};, weet dat we om deze herschrijven, en we moeten ervoor zorgen dat wij kunnen aanvaarden dat een "optie" parameters.Stap 3 opties, nu, we hebben die we van de « plugin », de volgende stap is het creëren van opties.De keuze van de verlenging, = USD. ({overlappen: 20, snelheid: 500, reset: 1500, kleur: "# 0b2b61, versoepeling van het beleid:" easeoutexpo "), de opties); boven, zullen we de keuze van de variabelen, de vaststelling van de kenmerken en waarden van een standaard, Dan zal het met de gebruikers wat (indien van toepassing) door een beroep te doen op de « plugin ».Dus, ze zullen ons de mogelijkheid het herschrijven van de standaard.Bijvoorbeeld, als, als ik bel deze plug - ins die ik door middel van: ("activa",dollar). Spasticnav (snelheid: 2000, versoepeling van het beleid: "easeoutelastic"}); deze twee eigenschappen voor de standaard, terwijl de overige opties ongewijzigd zal blijven, de functie van de uitvoering, Stap 4. Nu, we zijn klaar voor de periode van elk van de elementen van de door de « plugin », en de uitvoering van de functie van lava lamp.Weet je nog, we mogen er niet van uitgaan dat de gebruikers door middel van een enkele elementen van de « plugin ».Als ze het wil, kan worden verwezen naar een klasse, die verwijst naar meerdere projecten ontvangen, moet deze functie.Dus, we noemen this.each door elk project in het pakket, de terugkeer van. Elke (functie) (}); in deze functie, creëren we een aantal variabelen.Niet iedereen zal onmiddellijk een waarde zal stijgen als gevolg van de motor, maar alle variabelen. De naam, de hoogste functies? (schermen), aangekondigd dat ze in het algemeen van de top en na het starten van beste praktijken.De var - NAV = $(dit), currentpageitem = $("# gekozen, NAV), dot, vermindering van de nettowaarde van de activa:;,,," zijn ", en dat met dit doel.,,, currentpageitem: bevat een lijst met de keuze van de identiteit.We door middel van een tweede argument om de context te zoeken.Dan hoeven we niet met deze elementen door het dom vinden.Dot:,,, bij gebrek aan een ander woord, deze variabele wordt verwezen naar de pen, de muis in de menu 's was.Dit zal de opslag,,, -: verwijzing settimeout functie zal creëren.Dit is om dat op een timer.Voor meer informatie over dit heel snel...Nu, we hebben aangekondigd, /- variabelen, laten we het creëren van echte plekken, dus.En $("< li id = vlekken" > < /Lee > "). ((breedte: currentpageitem. Outerwidth (), hoogte: currentpageitem. Outerheight () + options.overlap, links: currentpageitem. Positie (). De linker: currentpageitem. Een top options.overlap /(). 2. Achtergrond kleur: options.color}). Appendto (de);, waarom bellen we de CSS - methode, en niet alleen de toevoeging van een categorie, want deze waarde zal afhangen van de lijst van de pagina 's voor de verandering.Dus, we moeten voor het verkrijgen van de waarde van hun javascript.,, breedte, de breedte van currentpageitem, met inbegrip van de grenzen en de vulling.Hoogte:,,, currentpageitem hoogte krijgen, met inbegrip van de grenzen en de vulling.Toevoeging van de overlapping van de vlekken, uitbreiding van het menu.Links:,, een gelijke currentpageitem blob, eigendom van links links.We moeten in de context van onze instellingen - - waarde van kracht.):,,, de hoogste waarde van goede, verticale centrum van vlekken.,, de achtergrond kleur, die kleur.Tot slot, we hebben de lijst van deze nieuwe,,,,, ofde nettowaarde van de activa.We moeten opslaan, de volgende, een verwijzing naar deblob.Dus, we hoeven niet te zoeken naar dom als we willen.Wij verklaren, vlekken, op de Top van de functie.Nu, laten we starten.("# = dollar, vlekken, NAV), 5, de muis, we moeten nu" luisteren ", als de gebruikers die muis in een lijst (met inbegrip van natuurlijk niet blob) in onze navigatie.En als ze dat doen, zullen we de breedte en de blob gelijk aan de huidige lijst die in de linker aard. En $(li: niet (# blob), de nettowaarde van de activa). Die (functie) (///////muis duidelijk timer (opnieuw); vlekken. Animatie ({links: positie (% (dit).). Links, breedte: $(dit). Breedte ()} {tijd: options.speed, losse: options.easing, rij: valse});}, functie) (muis reset = ///////settimeout (functie) (blob. Animatie ((breedte: currentpageitem. Outerwidth (): currentpageitem, links. De positie (}). Links, opties. Snelheid)}, de keuze van de verlaging);});, geeft een overzicht van de bovenstaande scenario 's...Alle voorwerpen, en nietblob van navigatie, toen ze in de werking van een functie.De vlekken, animatie, en het opzetten van de breedte gelijk is aan de waarde van de in de lijst die.De overdracht van voorwerpen, een tekst als de animatie tweede parameter, die gelijk is aan de duur van en ontspannen en we voorzien in de toewijzing van opties.Die rij is om te voorkomen dat de accumulatie van valse animatie.Als ze bellen, muis, settimeout, man terug naar de huidige blz. ".Als we dat niet doen, de gebruiker niet op de banden, menu, ze is in de volledig verschillende pagina 's.Dit zou, na een seconden, animatie currentpageitem laat terug.Dat is alles.Dit is een heel eenvoudige plug - ins.De volgende stap is dat we de stijl van de menu 's.Zes stappen van de menu 's, vorm, geen vorm, we moeten die vergelijkbaar is met die van het menu:,,, laten we eerst stijl "activa" UL.Open je stijl CSS dossier, wordt toegevoegd:,NAV - en standpunt: relatieve; achtergrond: drijvende: links;},,, dan zullen we elke lijst stijl,NAV Li {drijven: links; de lijst van stijl: geen; rechts: 1 - pixel vaste grensa4a4a; links: 1 - pixel. Een zwarte vaste stof;}, dat alleen in de voor elke post op de lijst van links, en de toevoeging van een aan beide kanten van de grens.,,, mobiele, onze volgende stap moeten we de navigatie - menu 's in de etikettering van anker.De waarde van de activa, deLI (kleur:e3e3e3; positie: relatieve; z - index: 2; drijvende: links; de lettergrootte: 30px; het lettertype Arial: de zwarte gaten, sans serif; de tekst -: geen; gevuld: 30px 45px;}, zetten we een kleur, die Aan de linkerkant van de waarde van een lettertype. Een gezonde hoeveelheid vulling.Met een z - index eigenschap.Dit is nodig, snel zal worden uitgelegd.Maar, weet je, met het oog op de aanpassing van de kenmerken van de oprichting van een locatie, we moeten de achtergrond, doen we het.,,, omdat we geen volledige reset stylesheet, laten we ervoor zorgen dat we geen een standaard marges en onze ul en 李填充 is voor het behoud van een potentiële hoofdpijn.- Lee, oude (marge: 0; 0;}, de laatste stap is de stijl van de man zelf.Enblob {grens: 1 - pixel vaste;ec; de grenzen: 1 - pixel vaste;ec; positie: absolute; de top: 0; z - index: 1; achtergrond:b2b61; achtergrond: moz lineaire gradiënt (top,b2b61,ҁc0); achtergrond: -webkit-gradient (lineaire, Links, links. Van (# 0b2b61), met het oog op de (# 1153c0); moz grens: 4px; - bewijzen van de grens: 4px; moz doos schaduw: X 10 pixelspx 011331; - norm: X 10 pixels schaduw 3pxdoos 011331;}, nogmaals, voor ons is de grens van een mooie de kleur en de toevoeging van gekleurde achtergrond (met inbegrip van geleidelijke /grens /schaduw Kruis de firefox en safari, chroom).Opnieuw zien we, z - index eigenschap.Zonder dit, zal laten zien dat deze plek al in de tekst - menu 's.Om dit probleem op te lossen, en we moeten ervoor zorgen dat de z - index eigenschap lager dan de lijst.We moeten ook de positie van een absolute, met het oog op de aanpassing van de boven - en de waarde van de « plugin » en links van ons.,,, conclusies, dat is alles.Met de minste inspanning, we hebben een erg netjes van nul beginnen menu - menu.Laat het me weten als je wat het probleem is.Bedankt voor het lezen en te kijken.,