Som ni vet finns det en mängd konkurrerande javascript-bibliotek runt om i tiden. Även om jag föredrar jQuery, har jag alltid gillat hur menyn på MooTools fungerade. Så i denna handledning återskapar vi samma effekt ... men vi gör det i jQuery!
Låt oss börja med att skriva den nödvändiga HTML för att skapa en enkel vertikal navigering. För strukturen, som du kanske har gissat, kommer vi att använda en oorderad lista med ID-namnet "Glidande-navigering". Vi lägger också till några länkar och ger varje listobjekt klassnamnet "Glidande-element".
Jag ska också lägga till i ett titelelement. Det här är en bra sak att göra så många WordPress-bloggar har till exempel rubrikelement i deras sidoregistrering (t.ex. "Arkiv"). Så det skulle se ut så här:
Låt oss nu skapa ett HTML-dokument där vi kan lägga det arbete vi just gjorde. Skapa en ny HTML-fil och kalla den demo.html. Öppna sedan den här filen med din favorit textredigerare och sätt in följande kod:
Navigationseffekt med jQuery
Navigeringstitel
- Länk 1
- Länk 2
- Länk 3
- Länk 4
- Länk 5
Det finns några saker att notera här:
Nu när vi har vår HTML-fil märkt och fungerar, låt oss lägga till några stilar. Kom ihåg att vårt HTML-dokument pekar på en CSS-fil som heter styles.css. Så, låt oss börja med att skapa en fil som heter styles.css och spara den i samma katalog där vårt HTML-dokument lever. Som vi gjorde i föregående steg, öppna den här filen med din favorit textredigerare och sätt in följande kod:
kropp marginal: 0; vaddering: 0; bakgrund: # 1d1d1d; font-family: "Lucida Grande", Verdana, sans-serif; typsnittstorlek: 100%; ul # glidnavigering list-style: none; typsnittstorlek: .75em; marginal: 30px 0; ul # glidnavigering li.sliding-element h3, ul # glidnavigering li.sliding-element a display: block; bredd: 150px; vaddering: 5px 15px; marginal: 0; marginal-botten: 5px; ul # glidnavigering li.sliding-element h3 färg: #fff; bakgrund: # 333; gräns: 1px fast # 1a1a1a; typsnitt: normal; ul # glidande navigering li.sliding-element a färg: # 999; bakgrund: # 222; gräns: 1px fast # 1a1a1a; text-dekoration: ingen; ul # glidande navigering li.sliding-element a: svävar färg: # ffff66;
Vid denna tidpunkt ska din demo.html sida se något ut så här:
Så det är äntligen dags att börja använda jQuery. Men innan vi kan komma igång behöver vi göra några saker:
Det här är vad din HTML-fil är
ska se ut nuNavigationseffekt med jQuery
Nu ska vi skapa den funktion som kommer att göra all "tung" lyftning för glidande effekten att fungera. Den här funktionen tar fem parametrar (navigation_id, pad_out, pad_in, time och multiplikator) och använder dem enligt följande:
Så öppna din sliding_effect.js-fil och sätt in följande kod:
funktionsdia (navigation_id, pad_out, pad_in, tid, multiplikator) // skapar målvägarna var list_elements = navigation_id + "li.sliding-element"; var link_elements = list_elements + "a"; // initierar timern som används för glidande animering var timer = 0; // skapar glidanimering för alla listelement $ (list_elements) .each (funktion (i) // marginal kvar = - ([bredd av element] + [total vertikal kodning av element]) $ (detta) .css "margin-left", "- 180px"); // uppdateringstimern timer = (timer * multiplikator + tid); $ (this) .animate (marginLeft: "0", timer); $ (marginLeft: "15px", timer); $ (this) .animate (marginLeft: "0", timer);); // skapar svängdjupseffekten för alla länkelement $ (link_elements) .each (funktion (i) $ (this) .hover (function () $ (this) .animate (paddingLeft: pad_out, 150) ;, funktion () $ (detta) .animate (paddingLeft: pad_in, 150);););
Allt vi behöver göra för att utlösa skriptet är att ringa funktionen när sidan har laddats. Det finns två ställen att ange följande kodavsnitt. Det kan antingen skrivas in i filen sliding_effect.js (jag valde det här alternativet för denna handledning) eller kallas i HTML med hjälp av en
Av Bedrich Rios
Lägg märke till att jag har lagt till bilden i "navigationsblocket" -elementet och ge det ett ID som heter "hide". Jag har också lagt till ett rubrikelement och textning. Nu lägger vi till lite extra CSS i vår styles.css-fil enligt följande:
h2 färg: # 999; marginalbotten: 0; margin-left: 13px; bakgrund: url (navigation.jpg) no-repeat; höjd: 40 bildpunkter; h2 span display: none; p färg: # ffff66; margin-top: .5em; typsnittstorlek: .75em; padding-vänster: 15px; # navigeringsblock position: relativ; top: 200px; vänster: 200px; #hide position: absolute; top: 30px; vänster: -190px;
Så först i
Observera också att "navigationsblock" -elementet nu har en relativ position, så att vi kan flytta "dölj" bilden till vänster. Detta gör att flikarna visas under den.
Slutligen, för att ge våra flikar lite finish, har jag lagt till en subtil bakgrundsbild som ser ut som skuggning så här:
ul # glidnavigering li.sliding-element h3 färg: #fff; bakgrund: # 333 url (heading_bg.jpg) repeat-y; typsnitt: normal;
Och vi är klara!
Visa den slutliga effekten
Ladda ner HTML / Images / JS