Sujuv avanev menüü jQueryga. Kuidas luua külgmine rippmenüü CSS-i ja jQueryga Lihtsaim jquery rippmenüü hõljutamisel
Praegu on jQuery navigeerimismenüüd midagi enamat kui lihtsalt tekstiplokid koos linkidega. Aastal näitasin teile, kuidas saate jQuery ja CSS3 abil luua väga laheda välimusega navigeerimismenüü.
JQuery võimsuse abil saame muuta navigeerimismenüü dünaamiliseks menüüks. Kuigi praegu saate dünaamilise navigeerimise loomiseks kasutada ainult CSS3, muudab jQuery menüüd veelgi võimsamaks.
Dünaamiliste funktsioonide kõrval on oluline roll ka disainil. Kasvõi sellepärast, et seda näevad külastajad teie saidile tulles ennekõike.
Kui menüü on esitlematu, annab see kasutajatele kehva kasutuskogemuse. Hea menüükujundus tõstab omakorda teie saidi kvaliteeti ja annab teile parema kasutuskogemuse.
Täna toon teieni 30 suurepärast jQuery navigeerimismenüü näidet.
1. Push
Pushy on tundlik, mittelõuendiga navigeerimismenüü, mis kasutab CSS-i teisendusi ja üleminekuid. See töötab suurepäraselt mobiilseadmetes. Vaadake kindlasti demo ja see meeldib teile kindlasti.
Demo | Lae alla
2.Slinky
See on veel üks suurepärane jQuery menüü kaunite keritavate navigeerimisloendite loomiseks. Selle eripäraks on lähtefailide väiksus.
Demo | Lae alla
3. jQuery hüpikmenüü
See on lihtne tundlik hüpikmenüü, millel on mõned väga lahedad funktsioonid. Kui klõpsate menüüikoonil, avaneb menüüaken üksuste ikoonidega. Tutvu demoga.
Demo | Lae alla
4. Liugurid
Slidebars on jQuery raamistik rakendusstiilide kiireks ja hõlpsaks juurutamiseks ilma lõuendiga sidumata. Liugribad tegelevad ka orientatsiooni ja suuruse muutmisega.
Demo | Lae alla
5. jQuery ruudu menüü
jQuery menüü, mis renderdab ruudukujulise animeeritud veebisaidi menüü, kasutades jQuery ja CSS3. Kontrollige seda demot vaadates.
Demo | Lae alla
6. Perspektiivse lehevaate navigeerimine
See jQuery navigeerimismenüü muudab lehe 3D-menüüks. Idee on luua mobiilirakenduse kujundus, kus menüüikoonile vajutades liigub lehe sisu kõrvale ja menüü tuuakse ette.
Demo | Lae alla
7. Slick Nav
Pistikprogramm mitmetasandilise ja paindliku, kuid lihtsa kohandamisega tundliku mobiilse jQuery menüü loomiseks. Ühildub brauserite vahel, võimalik klaviatuuriga navigeerimine.
Demo | Lae alla
8.Menüü
jQuery menüü lõuendi ja mittesiduvate rakenduste jaoks koos hüpikakna alamüksustega. Tänu arvukatele valikutele, lisandmoodulitele ja laiendustele on võimalik väga paindlik menüü kohandamine.
Demo | Lae alla
9. Sidr
jQuery pistikprogramm menüüde loomiseks ja tundlike funktsioonide hõlpsaks lisamiseks. Sidri abil saate luua oma saidi erinevaid elemente ja ka reageerivaid menüüsid.
Demo | Lae alla
10. slimMenüü
slimMenu on väike jQuery pistikprogramm, mis aitab teil välja töötada tundlikke kihilisi navigeerimismenüüd. Selle juures on lahe see, et teil võib olla mitu erinevat menüüd ja need kõik reageerivad täielikult.
Demo | Lae alla
11. Horisontaalne Nav
jQuery navigeerimismenüü, mis võimaldab teil määrata horisontaalse menüü kogu konteineri laiuses. See pistikprogramm muudab selle väga lihtsaks. Teise võimalusena saab rakendada IE7 toe.
Demo | Lae alla
12. FlexNav
See on mobiilipõhine näide meediumipäringute ja JavaScripti kasutamisest suurepärase kihilise menüü loomiseks, mis toetab puuteekraane, hõljutusefekte ja klaviatuuril navigeerimist.
Demo | Lae alla
13.jQuery Menu-Aim
jQuery menüü, mis käivitab sündmused, kui hiirekursor on rippmenüü üksuse kohal. Ideaalne tundlike rippmenüüde loomiseks, nagu Amazon.
Demo | Lae alla
14.Nutimenüüd
JQuery menüü plugin, mis pakub lihtsat ja intuitiivset viisi menüüde kuvamiseks. Loob reageerivaid menüüloendeid. Töötab kõikides seadmetes!
Demo | Lae alla
15. Käiguvahetus
Shifter on hõlpsasti kasutatav mobiilipõhine jQuery pistikprogramm slaidimenüüde loomiseks, mis kuvatakse tõstuklahvi klõpsamisel paremalt poolt. Seadistamiseks on ainult üks maxWidth suvand. See võimaldab teil määrata mobiilseadmete eraldusvõime/suuna.
Demo | Lae alla
16. Hamburger
Hamburger on jQuery pistikprogramm Androidi rakenduse stiilis slaidimenüü loomiseks, mis asetab hüpikmenüü ekraani paremasse serva. Kui menüü täieneb täissuurusele, katab see sisuala, kuid mitte toiminguriba.
Demo | Lae alla
17.Fookus
Focucss on jQuery navigeerimismenüü, mis loob lahedate hägususfunktsioonidega lõuendivaba külgribamenüü, mille abil saate juhtida kasutajate tähelepanu saidi põhiosadele ja muuta mitte nii kasulikud jaotised vähem märgatavaks.
Demo | Lae alla
18. Sahtel
Drawer on jQuery pistikprogramm tundliku animeeritud menüü loomiseks, mis libiseb klõpsamisel ekraani servast välja. Võib-olla olete Androidi rakendustes sarnaseid funktsioone näinud.
Demo | Lae alla
19. Kuupäevamenüü
Datmenu on esmaklassiline jQuery tundlik menüü, millel on erinevad CSS3 animatsioonifunktsioonid. Selle pistikprogrammi suurepärane on võimalus olla js-i valikutega täielikult kohandatav.
Demo | Lae alla
20.jPanelMenu
jPanelMenu on ilus ja kaasaegne jQuery menüü, mis võimaldab luua CSS3 animatsiooni üleminekutega paneeli navigeerimismenüü. jPanelMenu stiil meenutab Facebooki ja Google'i mobiiliversioone. Pistikprogrammi saab kasutada mitmesuguste mobiilirakenduste jaoks.
Demo | Lae alla
21. Lennu kõrvalmenüü
Fly Side Menu on lahe navigeerimismenüü pistikprogramm, mis kasutab CSS3-d, et luua 3D-teisenduste ja üleminekutega külgmenüü.
Demo | Lae alla
22. PageScroll jQuery Menu Plugin
PageScroll on kohandatud mobiili jQuery menüü, mida soovitatakse kasutada mis tahes veebisaidil ja sihtlehel.
Demo | Lae alla
23.DD ikoonimenüü
DD Icon Menu on jQuery pistikprogramm, mis võimaldab luua vertikaalse ikoonimenüü, mis asub ekraani servas, kus alammenüüd laienevad hõljutamisel.
Demo | Lae alla
24. jQuery Mobile Date Navigation
jQuery menüü, mis võimaldab navigeerida valitud vahemiku kuupäevade vahel ( nädal, kuu või aasta). Ideaalne teabe küsimiseks AJAX-kõnede abil.
Demo | Lae alla
25. Navobile
jQuery navigeerimismenüü pistikprogramm, mis teeb mobiilimenüüde loomise väga lihtsaks. Kasutab CSS-i üleminekuid, et määrata mobiilseadmetes menüü asukoht.
Täna tahaksin teha valiku saidi uue põlvkonna navigeerimise kohta - täisekraani menüüd. Neid kasutatakse juhtudel, kui navigeerimist ennast lehel pole, on ainult üks nupp, millele vajutades avaneb menüü. Sarnast põhimõtet võib näha ka -raamistikus, kui navigeerimisriba enam ei mahu, peidetakse plokk menüüelementide loendiga lihtsalt ära. Selle asemele ilmub nupp, millel on reeglina kolme triibu kujutis. Vajutamisel kuvatakse täielik menüü. Paljudel kaasaegsetel veebisaitidel on menüü jäädavalt peidetud isegi suurtel ekraanidel. Seda tehakse selleks, et lehte mitte laadida. Kuigi te ei tohiks seda praegu kõigi oma projektide puhul teha. Kui menüü on teisejärguline, saate selle peita, kuid kui teil on suur keeruka struktuuriga sait, on parem seda valikut mitte kasutada. Niisiis. Me mõtlesime välja üldise tööpõhimõtte, kuid seda tüüpi menüü on üsna tavaline, ma tahan midagi uut. Mitte nii kaua aega tagasi hakkasin märkama saite, kus navigeerimine mitte lihtsalt ei kuku välja, vaid avaneb täisekraanil hüpikaknas. Midagi populaarsete liugpaneelide sarnast, kuid kogu asi võtab enda alla kogu tööruumi ala. Saitide taga, individuaalne jQuery pistikprogrammid ja css3 lahendusi, mille kohta tegelikult see teema.
Mulle isiklikult väga meeldib selline navigeerimismenüü teostus, kuna see on mugav mobiilseadmetega kasutajatele ja näeb suurtel monitoridel väga muljetavaldav välja. saidid alates täisekraani menüüd tasuta jQuery pluginaid on üha rohkem ja kontseptsioon on järk-järgult muutumas trendiks.
Niisiis. Teie tähelepanu eest 20 jQuery täisekraani menüü pistikprogrammi hüpikaknas.
Navigeerimine täisekraanil
Üks parimaid siiani, tasuta täisekraanil navigeerimisskript. Kui vajutate nuppu "Menüü", kuvatakse navigeerimine ja kontaktidega plokk, mis on saidi külastaja jaoks väga mugav, kuna kõne tee muutub 1 klõpsu võrra väiksemaks. Tahan märkida, et skript ja mobiilseadmetes muutub kontaktidega plokk navigeerimise alla.Väga kena täiendus aknakujundusele on animeeritud SVG ikoon. Vaikimisi näeb see välja nagu kolm riba, kuid klõpsamisel muutub ikoon nooleks, mis näitab, et menüüd saab peita.
Ümar animeeritud navigeerimine
Veel üks väga lahe jquery täisekraanil navigeerimisskript samadelt arendajatelt nagu ülaltoodud pistikprogramm. Sellel skriptil on väga lahe ja ebatavaline välimus. Kui vajutate menüünuppu, siis ikoonist, kasutades css3, levib laine läbi kogu monitori, mis kasvab menüüelementide taustaks. Sama varjav efekt.See navigeerimine töötab mobiilseadmetes suurepäraselt, kuid arvestades, et spawn-efekt on üsna raske, siis arvan, et vanematel telefonidel on see aeglane (ma pole seda testinud, nii et mul oleks hea meel, kui kirjutaksite oma kogemustest kommentaaridesse) .
Perspektiivne lehevaate navigeerimine
Veel üks suurejooneline täisekraani menüü skript. Menüünupule vajutamisel liigub lehe nähtav osa efektiga küljele, vabanenud ruumile ilmub menüü. Seal on mitu kudemisanimatsiooni efekti.Mobiiltelefonides see paraku korralikult ei tööta: kui menüüelemente on palju ja need ei mahu ekraanile, siis vertikaalset kerimist ei kuvata ja navigeerimine katkeb lihtsalt.
Terve lehe tutvustus ja navigeerimine
Päris lihtne täisekraani menüü skript. Ma ei saa öelda, et see on väga tõhus, kuid see on mobiilseadmetes mugav.Lennu külgmenüü
Üks veel täisekraani menüü, milles 3D-efektiga nähtav osa on nihutatud küljele, kuid juba teistelt arendajatelt. Erinevalt eelmisest sarnasest skriptist peaks see mobiilseadmetes hästi töötama, sest kui menüü ekraanile ei mahu, tekib vertikaalne kerimine.Selles artiklis töötame välja lihtsa rippmenüüst jQuery abil. Kõigepealt vaadake demofaili. Loodame, et teil on jQuery ja CSS-i kohta vähemalt põhiteadmised. Selle rippmenüü loomise põhiaspektid on CSS-i parameetrite rakendamine: asukoht, ülemine, vasak, z-indeks.
Neid valikuid kasutades võime olla kindlad, et meie menüü kuvatakse täpselt selle lingi alla, mille kohal see hõljuti, ja katab täpselt kõik muud üksused. Menüü kuvatakse ka kursoril ja kaob, kui kursor eemale liigutatakse. Nende sündmuste rakendamiseks kasutame jQuery funktsioone: mouseenter ja mouseave. Ja see on kõik, mida rippmenüü loomiseks vajame!
Lõpptulemuse demofail ja allalaadimislink
HTML kood
Vaadake rippmenüü HTML-koodi:
Nagu näete, kasutame siin menüüelementide rakendamiseks järjestamata loendeid. Igale menüülingile on määratud rippmenüü klass ja rippmenüü ise on kaetud alamlingiklassiga. jQuery kasutab klassinimesid kuvatava menüü määramiseks.
CSS-kood
Vaadake CSS-koodi:
/* CSS rippmenüü Start jaoks */
ul
{
list-style:noone;
polster:0px;
veeris: 0 pikslit
}
ul li
{
ekraan:inline;
ujuk:vasak;
}
ul li a
{
värv:#ffffff;
taust:#990E00;
veeris-parem: 5px;
fondi kaal: paks;
fondi suurus: 12 pikslit;
font-family:verdana;
text-decoration:none;
kuva:plokk;
laius: 100 pikslit;
kõrgus: 25 pikslit;
rea kõrgus: 25 pikslit;
text-align:center;
-veebikomplekti piiride raadius: 5 pikslit;
-moz-border-radius:5px;
ääris: 1px solid #560E00;
}
ul li a: hõlju
{
värv:#cccccc;
taust:#560E00;
fondi kaal: paks;
text-decoration:none;
kuva:plokk;
laius: 100 pikslit;
text-align:center;
-veebikomplekti piiride raadius: 5 pikslit;
-moz-border-radius:5px;
ääris: 1px solid #000000;
}
ul li.alllingid a
{
värv:#000000;
taust:#f6f6f6;
border-bottom: 1px solid #cccccc;
font-weight:normal;
text-decoration:none;
kuva:plokk;
laius: 100 pikslit;
text-align:center;
veeris-ülemine: 2px;
}
ul li.sublinks a:hover
{
värv:#000000;
taust:#FFEFC6;
font-weight:normal;
text-decoration:none;
kuva:plokk;
laius: 100 pikslit;
text-align:center;
}
ul li.alamlingid
{
kuva: puudub;
}
/* CSS rippmenüü lõpu jaoks */
Enamikku CSS-koodi kasutatakse menüü vormindamiseks (saate menüü välimust vastavalt oma soovile kohandada), kuid siin on ka mõned olulised punktid:
1 – vahekaartide eemaldamine list-style:none;
2 – Teame, et loendid on plokitaseme elemendid ja neid kuvatakse alati vertikaalses järjekorras. Nende horisontaalseks paigutuseks anname neile sisemise elemendi parameetri ja joondame need vasakule küljele järgmise koodiga:
ekraan:inline;
ujuk:vasak;
3
– Lingid on vaikimisi tekstisisesed elemendid. Teisendame need plokielementideks funktsiooniga display:block (et saaksime neile nüüd anda laiuse väärtuse).
4 - Peida kõik menüüd:
Ul li.alamlingid
{
kuva: puudub;
}
jQuery
Kujutage ette vanu aegu, mil rippmenüüd rakendati toores javascripti koodiga, millele lisandus hulk tarbetut koodi. Kuid täna vajame ainult jQueryt:
$(funktsioon()(
alammenüü.css((
positsioon: "absoluutne",
zIndeks: 1000
});
Alammenüü.stopp().slideDown(300);
$(see).slideUp(300);
});
});
});
Väga huvitav ja lihtne asi. Selgitame teile, kuidas see toimib. Alustuseks ja nagu tavaliselt, mähime oma koodi jQuery kontrollerisse:
$(funktsioon()(
...
});
Meie kood käivitatakse, kui hiirekursor hõljutatakse (hiiresisestamisfunktsioon) elemendi kohal, millele on määratud rippmenüü klass ($().dropdown")). Meie puhul on see link menüüs:
$(funktsioon()(
$(.dropdown").mouseenter(function()(
........
});
});
Peidame kindlasti() kõik eelmised avatud menüüd, enne kui hiir järgmisele lingile hüppab:
$(.sublinks").stop(false, true).hide();
Pange tähele stoppfunktsiooni, mis aitab meil kuvada korraga ainult ühte rippmenüüd, kui hiirekursor navigeerib menüü erinevatele linkidele. Kui me seda funktsiooni ei kasuta, jääb iga rippmenüü avatuks hetkeni, mil me hiirekursori menüüst täielikult eemale viime. See loob mõningase kattumise, nii et peaksime seda vältima. Järgmiseks võtame praegu laiendatud rippmenüü ja määrame selle muutujale:
Var alammenüü = $(this).parent().next();
Siin on see, mis HTML-koodis sisaldub:
Kui hiirekursor on rippmenüü klassiga lingi kohal, liigume parenter()-ga tagasi ja peatume "li" juures ja siis next() abil leiame end soovitud rippmenüüst ja "li" on juba klassi alamlinkidega (alamlinkidega). Nii et jQuery abil on meil lihtne välja selgitada, millist rippmenüüd kuvada, kui hiirekursor on konkreetse lingi kohal.
alammenüü.css((
positsioon: "absoluutne",
top: $(this).offset().top + $(this).height() + "px",
vasakule: $(this).offset().left + "px",
zIndeks: 1000
});
Kood on väga oluline, kuna see tagab, et rippmenüü kuvatakse täpselt konkreetse lingi all. Kui positsioon on seatud absoluutseks, saame elemendi paigutada meie lehe mis tahes alasse. Järgmisena määrame $(this).offset().top abil lingi ülemise asukoha, mille kohal kursor hõljub (see viitab praegusele menüüelemendile, mille kohal kursor hõljub) ja lisame sellele kõrguse väärtuse nii et menüü kuvatakse täpselt lingi all. Teeme midagi sarnast vasakpoolse parameetriga. Seejärel kasutame z-indeksit, et tagada meie menüü kuvamine teiste elementide kohal.
Alammenüü.stopp().slideDown(300);
Muidugi saate kasutada ka muid animatsioonivalikuid, nagu fadeIn, oma stiilidega animatsioon jne.
Nüüd peame loobuma rippmenüü kuvamise kontseptsioonist ja panema selle peitma. Vajame järgmist koodilõiku:
Alammenüü.mouseleave(function()(
$(see).slideUp(300);
});
Rippmenüü peitmiseks kasutame slideUp, mis on slideDown antonüüm. Pidage meeles, et alammenüü on muutuja, mille lõime konkreetse rippmenüü määratlemiseks.
Seega on meil atraktiivne ühetasemeline rippmenüü jQuery menüü.
Väga sageli leiate mallidest rippmenüüst navigeerimiselemente. Arendajad kasutavad seda tüüpi peidetud menüüd täiendavate peidetud linkide kuvamiseks, mis on temaatiliselt põhiüksusega seotud. Saate leida näiteid väljatõmmatavatest paneelidest või erinevatest akordioni stiilis menüüdest, mis seda navigeerimispõhimõtet rakendavad.
Kuid selles õpetuses koostame jQuery abil lihtsa rippmenüü. See töötab viivitusega efektide loomiseks animatsioonimeetodiga. Koos JavaScripti koodiga rakendatakse ka CSS3 üleminekuefekte. Tulemuseks on saidil navigeerimiseks tühi.
HTML
Loome esmalt lihtsa HTML5 malli. Selleks on vaja jQuery uusimat versiooni, mille saame Google'i API-delt. Lisage ka stiilifail stiilid.css mida näidatakse allpool:
Nüüd kaaluge struktuuri, mis on üles ehitatud lehe ülaosas oleva järjestamata loendi peale. Kogu loend on ümbritsetud HTML5 elemendiga paremate SEO tulemuste saavutamiseks.
Koodi struktuur on üsna lihtne. Iga loendiüksus sisaldab esiletõstmise efekti, kui hiirekursor on selles. Kõik sisemised UL-i elemendid sisalduvad algses loendiüksuses, nii et sisendi fookus ei lähe rippmenüü üksustele liikudes kaduma.
Navigeerimisstiilid
Stiilileht sisaldab koodi atribuutide väärtuste vaikeseadetele lähtestamiseks. Paljud arendajad lisavad Eric Meye faili, kuid meie puhul on see liiga kohmakas. Lisaks salvestatakse kood teise serverisse, mis iseenesest on antud juhul halb otsus.
html, body, div, span, aplett, objekt, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, akronüüm, aadress, suur, tsiteerida, kood, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, vorm, silt, legend, tabel, pealdis, tbody, tfoot, thead, tr, th, td, artikkel, kõrvale, lõuend, üksikasjad, manustamine, joonis, pildipealkiri, jalus, päis, hgroup, menüü, nav, väljund, rubiin, jaotis, kokkuvõte, aeg, märk, heli, video (veeris: 0; täidis: 0; ääris: 0; fondi suurus: 100%; font: päri; vertikaaljoondus: alusjoon; kontuur: puudub; -webkit-font- silumine: antialiased; -webkit-text-size-adjust: 100%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; ) html (kõrgus : 101%, : 60 pikslit; ) artikkel, kõrvale, üksikasjad, pildipealkiri, joonis, jalus, päis, h rühm, menüü, navigeerimine, jaotis ( kuva: plokk; ) ol, ul ( list-style: none; ) blockquote, q ( jutumärgid: puudub; ) blockquote:enne, blockquote:after, q:enne, q:after ( sisu: ""; sisu: puudub; ) strong ( font -kaal: paks; ) tabel ( äärise ahendamine: ahendamine; ääriste vahe: 0; ) img ( ääris: 0; max-width: 100%; )
Koodis on huvitav omadus -webkit-font-smoothing. See on loodud fontide silumiseks, kui käitate koodi Mac OS X-i või iOS-i kasutavates brauserites.
Liigume nüüd oma menüü juurde.
#ddmenu ( ekraan: plokk; laius: 100%; kõrgus: 80 pikslit; veeris: 0 automaatne; polsterdus: 0 15 pikslit; taust: #fff; äärise raadius: 6 pikslit; ääris: 1px tahke rgba(0, 0, 0, 0,15 ); kasti vari: 0 1px 1px rgba(20, 20, 20, 0,2); kursor: kursor; kontuur: puudub; fondi kaal: paks; värv: #8aa8bd; ) #ddmenu li (kuva: plokk; asukoht: suhteline; hõljuk: vasak; fondi suurus: 1,45 em; teksti vari: 1px 1px 0 #ffff; ääris paremal: 1px solid #dae0e5; ) #ddmenu li a (kuva: plokk; hõljumine: vasak; polsterdus: 0 12px ; rea kõrgus: 78 pikslit; fondi paksus: paks; teksti kaunistus: puudub; värv: #6c87c0; -veebikomplekti üleminek: kõik 0,2 s lineaarne; -moz-üleminek: kõik 0,2 s lineaarne; -o-üleminek: kõik 0,2 s lineaarne; üleminek: kõik 0,2 s lineaarne; ) #ddmenu li:hover > a ( värv: #7180a0; taust: #d9e2ee; ) #ddmenu ul ( asukoht: absoluutne; ülemine: 88px; laius: 130px; taust: # fff; ekraan: puudub; veeris: 0; polster: 7px 0; loendi stiil: puudub; äärise raadius: 3 pikslit; ääris: 1px solid rgba(0, 0, 0, 0,2); kasti vari: 0 0 5px rgba(0, 0, 0, 0,2); )
Valija lisamine #ddmenuul et tõsta esile kõik sisemised elemendid igas loendiüksuses, kuna on oluline määratleda nende jaoks kaugus absoluutse positsioneerimise abil. Lisame kõikide linkide jaoks ka lineaarse ülemineku, mis kuvatakse kursorit nende kohal hõljutades.
Nüüd vaatame ülemise elemendi osuti loomist. See on moodustatud kasutades pöörlemisomadust ja universaalset kasti tumeda taustaga varju jaoks. Nihkega positsioneerimisega positsioneeritakse meie struktuuri üks element teise kohal ja moodustab kursori visuaalse esituse rippmenüüs.
#ddmenu ul:after ( sisu: ""; laius: 0; kõrgus: 0; asukoht: absoluutne; alumine: 100%; vasak: 8px; äärise laius: 0 8px 8px 8px; äärise stiil: ühtlane; äärise värv : #fff läbipaistev; ) #ddmenu ul:before ( sisu: ""; laius: 0; kõrgus: 0; asukoht: absoluutne; alumine: 100%; vasak: 4px; äärise laius: 0 10px 10px 10px; ääriste stiil : tahke; äärise värv: rgba(0, 0, 0, 0,1) läbipaistev; ) #ddmenu ul li ( ekraan: plokk; laius: 100%; fondi suurus: 0,9 em; teksti vari: 1px 1px 0 #fff ; ) #ddmenu ul li a (ekraan: plokk; laius: 100%; polster: 6px 7px; rea kõrgus: 1,4 em; -veebikomplekti üleminek: kõik 0,2 s lineaarne; -moz-üleminek: kõik 0,2 s lineaarne; - o-üleminek: kõik 0,2 s lineaarne; üleminek: kõik 0,2 s lineaarne; ) #ddmenu ul li a:hover ( taust: #e9edf3; )
JavaScript
Koodi esimene osa peatab linkidel tehtud klõpsud ja peatab vaikimisi nende töötlemise (lehtede laadimine URL-il).
Koodi teine osa teeb kogu maagia. Lisame loendiüksuse hõljutusprotsessi jaoks sündmuste töötleja. Käsitleja peatab hetkel aktiivse animatsiooni ja kuvab uue alam .slideDown() abil. Seadsime ka lühikese viivituse, et vastata ainult üksuse tegelikule valikule.
Klassikalise jQuery abil on sellel teemal kirjutatud palju artikleid. Üritasin ülesannet veidi keerulisemaks teha, lisades võimaluse hoida saidil liikudes menüüsektsioone lahti (või suletuna, olenevalt kasutaja valikust).
Selle probleemi lahendamiseks otsustasin kasutada pistikprogrammi jQuery Cookie. Selle plugina eeliseks on see, et operatsioon tehakse kliendi poolel, mis omakorda vähendab serveri koormust. Miinus – kui kasutajal on JS keelatud, siis pistikprogramm ei tööta. Aga ma ei kaalu seda võimalust, sest siis kaob kogu rippmenüü mõte üldse ära. Niisiis, alustame.
Kõigepealt peame ühendama jQuery raamistiku ja pistikprogrammi jQuery Cookie:
Kood: HTML
Järgmine on märgistus. See näeb välja nagu lihtne nimekiri, mitte midagi üleloomulikku. Ainus asi, mida tuleb märkida, on see sildil
seal peaks olema pealkiri, klõpsamisel kukub menüü välja:
Kood: HTML
Ja nii edasi lõpmatuseni. Nüüd kõige huvitavam. Koodi lisan mõned kommentaarid, et see oleks ligikaudu selge, chopach
Kood: JS
$(dokument).ready(function()(
if($.cookie("num_open_ul"))( // kontrollige, kas küpsise kirje on olemas
if($.cookie("num_open_ul") != 0)( // ja see kirje ei ole 0
var number_eq = parseInt($.cookie("avatud_arv")-1);
$(".navigation_body").eq(number_eq).show().prevAll("#navigation h2.navigation_head:first").addClass("active_navigation");
}
};
$("#navigation h2.navigation_head").click(function()( // klõpsamisel see funktsioon töötab
if(!$(this).next().is(":nähtav"))(
$("div.navigation_body").siblings("div.navigation_body").slideUp(500); // kui teised on avatud, sulgege kõik peale praeguse
}
$(this).next("div.navigation_body").slideToggle(500).siblings("div.navigation_body").slideUp(500);
$(this).toggleClass("active_navigation").siblings("#navigation h2.navigation_head").removeClass("active_navigation"); // open lisas stiili muutmiseks klassi
setTimeout(fncookie, 600); //küpsistesse kirjutamine ise viivitusega, et skriptil oleks aega enne kirjutamist töö lõpetada (500ms - kiirus, viivitus - 600ms)
});
funktsioon fncookie()( // salvestusfunktsioon ise
varnumber_open_ul = 0;
var i = 0;
$("div.navigation_body").each(function()(
i++;
if($(this).is(":nähtav"))(
number_avatud_ul = i;
}
$.cookie("avatud_arv", number_avatud_ul, (aegub:3, tee:"/")); // säilitage kogu saidi jaoks 3 päeva.
});
}
});
See tähendab, et kui kasutaja nüüd menüü avas, saidilt lahkus ja paari päeva pärast sinna tagasi läks, jääb menüü talle endiselt avatuks.
Ja lõpuks on meil veel väike puudutus: tegelikult css-stiilid. Teete seda oma maitse järgi, näites võtsin valmis kujunduse ühest projektist
Kood: CSS
#navigation(
veeris: 80px auto;
laius: 250 pikslit
}
#navigation h2, #navigation h2.navigation_head (
fondi suurus: 18 pikslit;
fondi kaal: paksem;
taustavärv: #ffb6c1;
background-image: -webkit-gradient(lineaarne,50% 0.50% 100%,color-stop(0%,#ffe9e9),color-stop(100%,#ffb6c1));
background-image: -webkit-linear-gradient(#ffe9e9,#ffb6c1);
background-image: -moz-linear-gradient(#ffe9e9,#ffb6c1);
background-image: -o-linear-gradient(#ffe9e9,#ffb6c1);
background-image: lineaarne gradient(#ffe9e9,#ffb6c1);
polsterdus: 5px 3px 6px 3px
veeris: auto;
asend: suhteline;
}
#navigation h2.navigation_head:after (
positsioon: absoluutne;
paremal: 5 pikslit;
värv: #550000;
sisu: "cssb";
}
#navigation h2:hover, #navigation h2.navigation_head:hover (
kursor: kursor;
}
.active_navigation(
background-image: -webkit-gradient(lineaarne,50% 0.50% 100%,color-stop(0%,#ffb6c1),color-stop(100%,#ffe9e9)) !tähtis;
background-image: -webkit-linear-gradient(#ffb6c1,#ffe9e9) !important;
background-image: -moz-linear-gradient(#ffb6c1,#ffe9e9) !important;
background-image: -o-linear-gradient(#ffb6c1,#ffe9e9) !tähtis;
background-image: linear-gradient(#ffb6c1,#ffe9e9) !important;
}
.active_navigation:after (
positsioon: absoluutne;
paremal: 5 pikslit;
sisu: "cssd" !tähtis;
}
.navigation_body(
kuva: puudub;
}
#navigation ul (
marginaal: 0;
polsterdus: 0;
list-style-type: none;
}
* html #navigation ul li(
kõrgus: 1%;
}
#navigation div.navigation_body ul li (
veeris-vasak: 10px;
}
#navigation a (
fondiperekond: "Times New Roman";
kuva:plokk;
värv: #918871;
polster: 3px
taustavärv: #ffe3e0;
ääris-alumine: 1px tahke #fff;
tekst-kaunistus: puudub;
}
#navigation a:hover (
värv: #585858;
taustavärv: #ffb6cc;
}
Kui keegi tähelepanu pööras, siis siin proovisin kasutada sisu: +/- omadus, kui menüü on suletud/avatud, aga saab lisada pildi või muu kujunduse. Siin näete näidet meie tegemistest
Nagu alati, valmis kuulama küsimusi ja proovima neile vastata. Kõike head, kõike head.