Menüüskript mobiilseadmetele. Erinevad tava- ja mobiilimenüüd WordPressis, funktsioon wp_is_mobile, WP Responsive Menu plugin

Pesastatud elementidega töötamine ei ole lihtne, sest näiteks kui liigutate koos sellega ülemelementi, liiguvad ka kõik selle alamelemendid. Seetõttu kasutame mitmeid tehnikaid, mis toetavad alammenüüde ja nende laste soovitud 3D-tõlkeid. Põhiidee on tõlkeväärtuse suurendamine tagamaks, et alamkihte ei kuvata, kui liigutame kõike veidi, et näidata emaelementide servi. Muidugi pole see vajalik juhul, kui alammenüü katab põhielemendi.

Pange tähele, et kasutame CSS-i atribuute (transform, transfer), mis töötavad ainult kaasaegsetes brauserites. Mittetoetavate brauserite jaoks mõeldud alternatiivi näite leiate faili komponent.css lõpust, mis näitab lihtsalt esimese taseme menüüd. Teeme sama, kui JS-i pole.

Menüü jaoks vajame järgmist pesastatud struktuuri:

Kõik kategooriad

  • Seadmed Seadmed
    • Mobiiltelefonid Mobiiltelefonid

Siin on iga tase mähitud div-märgendisse, millel on klass mp-level . Sellist fikseeritud positsioneerimist ei saa me menüüle rakendada, kuna teisendused panevad selle käituma absoluutse positsioneeritud elemendina, seega peame kasutama absoluutset positsioneerimist, mis toob kaasa saidi soovimatu käitumise probleemi (menüü kerimine ja sõltuvalt dokumendi kõrgusest).

Et vältida menüü kerimist ja katkemist, kui saidi sisu on liiga lühike, kasutame väikest nippi, võttes kasutusele järgmise lehestruktuuri:

Nüüd määrame elementidele järgmised CSS-stiilid:

Html, body, .container, .scroller (kõrgus: 100%; ) .scroller ( overflow-y: scroll; ) .scroller, .scroller-inner ( asend: suhteline; ) .container ( asend: suhteline; ülevool: peidetud; taust: #34495e)

See võimaldab teil sisu kerida, kui saidi mobiiliversiooni menüü on suletud, ja see muutub võrdseks ka brauseriakna kõrgusega. Seega jäljendame seda, mida saavutaksime fikseeritud positsioneerimisega. Pluginat ennast võib nimetada järgmiselt:

Uus mlPushMenu(document.getElementById("mp-menu"), document.getElementById("trigger"));

Või kui alammenüüd peaksid eelmised tasemed sulgema:

Uus mlPushMenu(document.getElementById("mp-menu"), document.getElementById("trigger"), (tüüp: "cover"));

uus mängija 16. jaanuar 2017 kell 01:28 saidi mobiilimenüü. JQuery menüü plugin
  • jQuery

Selles artiklis räägime sellest, kuidas luua saidi mobiiliversiooni jaoks menüü, mis sobiks kohandatava kujundusega. Tahan teile rääkida JQuery pistikprogrammist nimega mmenu (plugina allalaadimiseks võite järgida linki ja kohe näha, kuidas meie loodav menüü välja näeb). Kasutame pistikprogrammi, sest iga kord oma jalgratta ehitamine pole parim tava. Meie viis on kasutada parimaid tavasid. Alustagem.

Ühendus. Autor soovitab kasutada html 5 doctype, noh, siin ma arvan, et me ei vaja alternatiive, me kasutame seda. Meie dokumendi peaosas peame ühendama JQuery enda ja kaks pistikprogrammi faili, ühendame:


Kui vajame lõuendil olevat menüüd, peame kaasama failid jquery.mmenu.oncanvas.min.js ja jquery.mmenu.oncanvas.css. On-canvas on menüü versioon, millel on position:absolute; laius: 100%; kõrgus: 100%, mis venitab seda kogu ekraani täitmiseks.

Menüü koostamine Menüü luuakse väga lihtsalt – nagu järjestamata html-loend, toetab plugin nimekirjade pesastamist. Kõik see tuleks mässida navigeerimissildi, millel on ID.

  • Kodu
  • Meist
    • Ajalugu
    • Meeskond
    • Meie aadress
  • Võtke ühendust

Menüüstiilid 1. Kui pistikprogramm kohtab pesastatud loendit, lisab see vanema li-sildi sisse lingi sellele, mis on selles li-s juba olemas. Kui klõpsate lisatud lingil, avaneb alammenüü. Selleks, et muuta menüüüksus lingiks tervele alammenüüle, mitte ainult kahele lingile, peate kasutama span-märgendit.

  • Kodu
  • Meist
    • Ajalugu
    • Meeskond
    • Meie aadress
  • Võtke ühendust

2. Et alammenüü oleks alati nähtav, tuleb sinna lisada klass “Inset”.
3. Lisage menüüelemendile klass "Valitud", et see esile tõsta.
4. Eraldajaid saate luua järgmiselt

  • Veebisait
  • Kodu
  • Meist
  • Võtke ühendust

Javascript Vajate nuppu, millel klõpsamisel avaneb menüü. Soovitan neid hamburgereid kasutada. Sealt saate lugeda, kuidas neid kasutada. Lühidalt, peate alla laadima hamburgeri stiilid, ühendama need lehega ja lisama ligikaudu järgmise html-koodi


Kasutasin Fixed klassi, et määrata position:fixed

Meie mobiilimenüü toimimiseks ei jää üle muud, kui ühendada lehega järgmine javascripti kood:

$(document).ready(function() ( var $menu = $("#minu-menüü").mmenu(); var $icon = $("#mmenu-icon"); var API = $menu.data ("mmenu"); $icon.on("klõps", funktsioon() ( API.open(); ) ( API.bind("avatud", funktsioon()) ( $icon.addClass); ("is-aktiivne" 100) ; $icon.on("klõps", funktsioon() ( API.open(); ));

Probleemid Menüü kasutamisel tekkis kaks probleemi. Algul proovisin kogu keha sisu mässida div tag’i, sest see on plugina töötamiseks vajalik. Aga antud juhul peitis see millegipärast kogu sisu, mille pakkisin. Nii et ma loobusin sellest. Kui te ei mähi kõike oma kehas div-i, teeb pistikprogramm seda teie eest. Kuid probleeme tekib js-skriptide ja muude topeltkäivitamisega. Pärast seda sattusin kohe teise probleemi otsa: pistikprogramm ei pakenda midagi muud kui div. See tähendab, et kui teil on h1 otse keha sees (keha > h1), nagu näiteks minul, siis mmenu jätab need vahele ja mähib selle taga olevad divid. nii et otse Keha sees on alles ainult div.

See pani kõik minu jaoks tööle. Loodan, et see artikkel oli teile kasulik.

Sildid: tundlik disain, paigutus, jquery pistikprogrammid

Pakun kaalumiseks tehnikat lihtsa, väga paindliku seadete ja ka üsna tõhusa, kohanemisvõimelise menüü loomiseks, kasutades puhast semantilist märgistust, et rakendada adaptiivset kujundust ilma javascripti ühendamata. Selle tulemusena saame CSS-i kasutades menüü, mida saab joondada vasakule, paremale või asetada täpselt keskele, aktiivsed/praegused üksused esile tõstetud, menüü, mis saab brauseriakna suuruse muutmisel end kiiresti ümber korraldada. rippmenüüsse vertikaalsesse navigeerimisriba, mis näeb hea välja erinevate mobiilsete kasutajaseadmete (tahvelarvutite, nutitelefonide, sülearvutite ja mobiiltelefonide) ekraanidel.

Vaatasime näidet ja veendusime, et meie menüü töötab. See meetod on üldiselt väga kasulik, kui menüü kasutab suurt hulka linke. Saate hõlpsasti rühmitada kõik nupud ühele atraktiivsele paneelile, mis avaneb hõljutamisel.


HTML-i märgistus

Kõigepealt peame märgistama kogu meie menüü põhistruktuuri. Loome navigeerimiselemendi, mis tähendab, et on loogiline ja isegi otstarbekas kasutada HTML5 elementi, sellele määratud samanimelise klassiga sildi CSS-stiilide hilisemaks vormindamiseks, samuti CSS-i stiilide loomiseks ja absoluutseks positsioneerimiseks. rippmenüüst navigeerimisriba. Praegune klass osutab aktiivsele / praegusele menüülingile, mille välimus luuakse css-i abil.

  • Kodu
  • Meist
  • Portfell
  • Meie teenused
  • Kontaktid

Nagu näete, on menüü lihtne järjestamata loend teatud arvu linkidega. Punktide arv võib olla erinev, kuid sellegipoolest pole vaja pabistada, kõik on mõistlikkuse piires.
Veelgi enam, enne kui me liiga kaugele läheme, tahan teile meelde tuletada ja selgitada neile, kes ei tea, et HTML5 ja meediapäringuid ei toeta IE versioonid, mis on vanemad kui 9 (pole üldse üllatav). Et edaspidi peavalu vältida ja kõike õigesti teha, on olemas spetsiaalsed skriptid ja mille abil saame ühilduvuse probleemi lahendada, ühendades need heaperemehelikult jaotises oleva dokumendiga.

Kõik. Oleme põhilised juurdehindlused korda ajanud, klassid registreeritud ja kargud lisatud. Liigume nüüd edasi menüüelementide stiilide määratlemise, välimuse kujundamise ja meie menüü tõeliselt kohanemisvõimelise muutmise juurde.

CSS-i defineerimisstiilid

Töölauakuvarite ekraanide CSS-i menüüstiilide komplekt on üsna standardne. Tahaksin lihtsalt juhtida teie tähelepanu asjaolule, et määrasin float:left elemendi asemel display:inline-block

  • navigeerimiskonteineris nav . See võimaldab menüüelemente joondada vasakule, paremale ja täpselt keskele, määrates loendiüksusele teksti joondamise atribuudi
      .

      /* menüü */ .nav ( veeris : 20 pikslit 0 ; ) .nav ul ( veeris : 0 ; täidis : 0 ; ) .nav li ( veeris : 0 5px 10 pikslit 0 ; polsterdus : 0 ; loendi stiil : puudub ; kuva : inline-block ; * display : inline ; /* ie7 */ .nav a ( polster : 3px 12px ; text-decoration : none ; color : #999 ; line-height : 100% ; ) .nav a : hover ( color) : #000 ; ) .nav .current a ( taust : #999 ; värv : #fff ; piiriraadius : 3px ; )

      /* menüü */ .nav ( veeris: 20px 0; ) .nav ul ( veeris: 0; polster: 0; ) .nav li ( veeris: 0 5px 10px 0; polster: 0; loendi stiil: puudub; kuvamine: inline-block; *display:inline; /* ie7 */ .nav a ( polster: 3px 12px; text-decoration: none; color: #999; line-height: 100%; ) .nav a:hover ( värv : #000; ) .nav .current a ( taust: #999; värv: #fff; piiriraadius: 3px; )

      Sektsioonid .nav a:hover ja .nav .current a vastutavad vastavalt linkide värvi ja aktiivsete/praeguste menüüelementide tausta muutmise eest. Ma ei püüdnud selles näites olla liiga tark, tegin kõike minimalismi vaimus, kui hõljutate kursorit lingi kohal, värv muutub, tekst muutub mustaks: #000; , ja aktiivsetele üksustele lisasin tausta: #999; , asendas fondi värvi valgega: #fff; ja servad ümardatakse veidi piiriraadiusega: 3px; saadud nupul. Saate selles osas fantaseerida ja katsetada oma südameasjaks.

      Joondage keskele ja paremale

      Nagu ma eespool mainisin, saame muuta navigeerimisüksuste joondamist, kasutades atribuuti text-align, lisades paar rida CSS-koodi:

      /* menüü paremal */ .nav .right ul ( text-align : right ; ) /* menüü keskel */ .nav .center ul ( text-align : center ; )

      /* menüü paremal */ .nav.right ul ( text-align: right; ) /* menüü keskel */ .nav.center ul ( text-align: center; )

      Menüü kohandamine

      Lõbu algab. Meie menüü selles etapis on kummiformaadis (laius määratakse protsentides) ja ei ole veel üldse kohanduv. Alustage ekraani suuruse muutmist ja näete, et menüü on sisse ehitatud kaootilisesse nuppude segadusse.


      Parandame olukorra meediapäringute abil. Meediumipäringu rakenduspunktis 600 piksli juures määrasin suhteliseks positsioneerimiseks positsiooni: suhteline; navigeerimiselemendi jaoks, et saaksime hiljem menüüloendi paigutada

        peal absoluutses positsioonis positsioon: absoluutne; . Kasutades kuva: none property, peidame kõik li menüüelemendid, jättes alles ainult hetkel aktiivsed lingid praeguse klassiga, määrates neile atribuudi display: block.
        Kui hõljutate kursorit rühmitatud navigeerimisriba kohal, tuleks kõik menüüelemendid kuvada rippmenüüna. Selleks määratleme reegli.nav ul:hover li funktsiooniga code>display: block. Aktiivsete/praeguste üksuste jaoks lisame ikooni, et need ülejäänud hulgast esile tõsta.
        Kui teil on vaja menüüd paremale või keskele liigutada, kasutage meie menüü ul loendi jaoks vasakut ja paremat positsioneerimisatribuuti.

        @meediumiekraan ja (maksimaalne laius: 600 pikslit) (.nav (positsioon: suhteline; min-kõrgus: 40 pikslit;).nav ul (laius: 180 pikslit; polsterdus: 5 pikslit 0; asukoht: absoluutne; ülemine: 0; vasak: 0 ; .nav li ( kuva : puudub ; /* peida kõik
      • punktid */ veeris: 0; ) .nav .current ( kuva : plokk ; /* näitab ainult hetkel aktiivset
      • üksused */ ) .nav a ( ekraan : plokk ; polsterdus : 5px 5px 5px 32px ; teksti joondus : vasak / .nav ul: hover ( background-image : none ; ) .nav ul: hover li ( display : block ; margin : 0 0 5px ; ) .nav ul : hover . png ) no-repeat 10px 7px ) /* reageeriv menüü paremal */ .nav .right ul ( vasak : auto ; parem : 0 ; ) /* reageeriv menüü keskel */ .nav .center ul ( vasak : 50% ) veeris vasak : -90px ;
      • @meediaekraan ja (maksimaalne laius: 600 pikslit) ( .nav ( asukoht: suhteline; min-kõrgus: 40 pikslit; ) .nav ul ( laius: 180 pikslit; polsterdus: 5 pikslit 0; asukoht: absoluutne; ülemine: 0; vasak: 0 ääris: tahke 1px #aaa; 3); .nav li ( kuva: puudub; /* peida kõik

      • punktid */ marginaal: 0; ) .nav .current ( kuva: plokk; /* näitab ainult hetkel aktiivset
      • üksused */ ) .nav a ( ekraan: plokk; polsterdus: 5px 5px 5px 32px; teksti joondus: vasakule; ) .nav .current a ( taust: puudub; värv: #666; ) /* kursorit menüüelementide kohal hõljutades * / .nav ul:hover ( taustapilt: puudub; ) .nav ul:hover li ( ekraan: plokk; veeris: 0 0 5px; ) .nav ul:hover .current ( taust: url(pildid/icon-check. png) no-repeat 10px 7px ) /* tundlik menüü paremal */ .nav.right ul ( vasak: auto; parem: 0; ) /* reageeriv menüü keskel */ .nav.center ul ( vasak: 50% vasakpoolne veeris: -90 pikslit;

        See on ilmselt kõik! Meie suurepärane, 100% kohanduv menüü on valmis, nagu näete uuesti näidet vaadates. Materjali üksikasjalikumaks uurimiseks saate allikad alla laadida ja rahulikult, ilma asjatu askeldamiseta teemasse süveneda.

        Tund valmistati ette materjale kasutades
        Tasuta tõlge ja kohandamine: Andrey /juht/


        Üks levinumaid probleeme mobiiltelefonide veebilehtede põhikujunduse loomisel on navigeerimismenüü. Kui saidil on palju jaotisi ja lehti, peaks see panema teid mõtlema menüü muutmisele kompaktseks, kõige ülevaatlikumaks, kuid samal ajal funktsionaalseks ja tõhusaks. Tõenäoliselt on teie menüüs mitu rida või võivad nupud asuda üksteise peal. See ei tundu väga esteetiliselt meeldiv. Selles õpetuses vaatleme, kuidas saab jQueryt kasutada menüüüksuste tõhusaks korraldamiseks ja kiireks navigeerimiseks.

        Probleem.

        Allolevad ekraanipildid näitavad menüüde koostamisel levinud probleeme. Kui menüüs on ainult neli elementi, asuvad need samal tasemel, kui aga viis või kuus nuppu, siis osutub menüü mitmerealiseks, mis on üsna ebapraktiline.

        http://bitfoundry.ca/

        Lahendus. 1) rippmenüü.

        See on üks levinumaid lahendusi. Kuid siin on ka lõkse. Selliseid menüüelemente ei saa CSS-is stiilida. Kuid saate menüü stiilida valida plugina Valitud abil, vastasel juhul jääb rippmenüü stiil vaikimisi. Lisaks tundub rippmenüü üsna ebaprofessionaalne. Kuigi kui olete selle valikuga rahul, saate teada, kuidas sellist menüüd oma veebisaidil CSS-i tehnikate abil rakendada.


        http://www.smashingmagazine.com/
        http://informationarchitects.net/

        2) plokid

        Teine kiire lahendus on seada iga eraldi menüü üksus vertikaalselt paigutatud plokkidena. Kuid see meetod võtab pealkirjast ruumi. Kui menüüs on palju esemeid, siis see valik sulle kindlasti ei sobi. On ebatõenäoline, et lugejad naudivad pika üksuste loendi sirvimist, kuni nad leiavad vajaliku saidi sisu.

        http://forefathersgroup.com/

        http://loveandluxesf.com/

        http://www.londonandpartners.com/

        3) Menüü ikoon.

        See uusim lahendus on navigeerimise sisse- ja väljalülitamiseks ikooni/nupu kasutamine. See on saidi kasutajate jaoks kõige optimaalsem. See meetod on hea ka seetõttu, et säästab ruumi (mis on mobiiltelefonide jaoks väga oluline) ja annab ka täieliku vabaduse CSS-is modelleerimiseks. Lisaks saab menüü sümboli kujundada nii, et see vastaks saidi üldisele teemale.

        http://www.sony.com

        http://twitter.github.com/bootstrap/

        http://zync.ca/

        http://www.paulrobertlloyd.com/

        Mobiilimenüü koos jQuery()

        See õpetus näitab, kuidas luua ülalkirjeldatud mobiilisaidi navigeerimismenüüd jQuery abil. Menüüsümbolite ja navigeerimislüliti lisamiseks kasutatakse jQueryt. See tehnika ei nõua täiendavaid HTML-märgendeid.

        Allpool on selles õpetuses kasutatud menüü lihtne HTML-kood:

        < nav id = "nav-wrap" >

        < ul id = "nav" >

        < li > < a href = "#" >Nupp< / a > < / li >

        < li > < a href = "#" >Nupp< / a > < / li >

        < / ul >

        < / nav >

        jQuery kood

        Asetage siltide vahele jQuery ja alloleva funktsiooni koopia< head >. Funktsioon lisab sildi< div id = "menu-icon" в тег < nav id = "#nav-wrap" >. Ja kui klõpsate “MENÜÜ” elemendil/ikoonil, avaneb menüü koos lisaelemendiga.

        jQuery(document).ready(function($)( /* prepend menu icon */ $("#nav-wrap").prepend("Menüü"); /* lülita navigeerimisrežiimi sisse */ $("#menu-icon" ).on("klõps", function())( $("#nav").slideToggle(); $(this).toggleClass("aktiivne"; ));

        jQuery(dokument). valmis(funktsioon($)(

        /* lisa menüüikoon */

        $("#nav-wrap") . prepend("Menüü");

        /* lülita navigeerimisrežiimi sisse */

        $("#menüüikoon"). on ("klõps" , funktsioon () (

        $("#nav" ) . slideToggle();

        $(see). toggleClass("aktiivne");

        } ) ;

        } ) ;

        HTML-kood näeb välja selline (selleks klõpsake nuppu "Vaata elementi" või vaadake loodud koodi)

        Menüü

        < nav id = "nav-wrap" >

        < div id = "menu-icon" >Menüü< / div >

        < ul id = "nav" >

        Tere! Jätkame WordPressi saidi kõige huvitavamate ja kasulikumate pistikprogrammide analüüsimist! Täna saate teada, kuidas oma veebisaidile mobiilimenüüd lisada. Saate kohandada menüüd, mis kuvatakse ainult mobiilseadmetes. Saate määrata maksimaalse ekraanisuuruse, mille juures mobiilimenüüd kuvatakse. Saate teha kaks menüüd, mis asuvad ekraani vasakus ja paremas servas, ning saate määrata iga menüü jaoks eraldi saidi menüü. Saate kohandada menüü välimust, värve, suurust, polsterdust jne.

        Plugina saate installida otse WordPressi administraatoripaneelilt. Minge lehele: Pluginad – Lisa uus, sisestage otsinguvormi plugina nimi, vajutage sisestusklahvi, installige ja aktiveerige plugin.

        Vaatame seadeid:

        Üldised valikud.

        - Luba mobiilimenüü, saate mobiilimenüü lubada või keelata.

        – Lubage vasakpoolse päise menüü, lubage või keelake vasakpoolne menüü.

        – Parema päise menüü lubamine, parempoolse menüü lubamine või keelamine.

        – Width Trigger, määrake, millises maksimaalses suuruses mobiilimenüüd kuvatakse.

        – Peida elemendid, peita mobiilimenüü kuvamisel saidilt kõik elemendid. Saate määrata CSS-klassi või elemendi ID.

        – Kohandatud CSS, saate menüü jaoks määrata oma CSS-stiile.

        – Salvesta muudatused, salvesta muudatused.

        Päise valikud.

        – Saidi logo, saate valida, mida mobiilisaidil kuvatakse. Logo või tekst.

        – Logo, logo laadimiseks klõpsake väljal.

        – Alternatiivne logo URL, saate määrata alternatiivse logo URL-i.

        – Päise kõrgus, saate määrata menüü kõrguse.

        – Logo ülemine veeris, taande suurus saidi ülaosast logoni.

        – Päise tekst, saate määrata teksti, mis kuvatakse päises, kui valisite alguses tekstikuva.

        – Päise teksti fondi suurus, saate valida päise teksti suuruse.

        Salvesta muudatused.

        Vasakpoolsed menüüvalikud.

        – Vasakmenüü, valige vasakpoolse menüü jaoks saidi menüü.

        – Menüüikoon, saate valida menüü jaoks ikooni või pildi.

        – Menüü Ikooni kujutis, klõpsake ikooni või pildi laadimiseks väljal.

        – Vasaku menüüpaneeli laius, saate määrata vasakpoolse menüüpaneeli laiuse suuruse.

        – Ikoon ülemine veeris, ikooni ülemine veeris.

        – Ikoon Vasak veeris, taane vasakult ikoonile.

        Salvesta muudatused.

        Parempoolse menüü valikud. Seaded on siin samad, mis vasakpoolses menüüs. Siin on õige menüü seaded.

        Värvivalikud.

        – Päise taustavärv, saate valida menüü päise värvi.

        – Päise teksti värv, saate valida menüü pealkirja teksti värvi.

        Valige vasak- ja parempoolse menüü värv (samad sätted).

        - vasakpoolse menüü ikooni värv, ikooni värv.

        - Taustavärv, menüü taustavärv.

        - Teksti värv, menüü teksti värv.

        - Tausta hõljumise värv, taustavärv hõljumisel.