Vær oppmerksom på at hvis det er enkle anførselstegn i koden som er omsluttet av ekko "", må de escapes, dvs. sette en omvendt skråstrek (\") foran hver av dem, uten parentes, selvfølgelig.
Generelt ble det som det ble. Du må bestemme selv hvordan du spesifikt skal knytte dette til emnet ditt - når du har tid, er det til og med morsomt å "ras hjernen din." Takk skal du ha.
Lykke til! Vi sees snart på sidene til bloggsiden
Du kan være interessert
WebPoint PRO er et responsivt WordPress-tema med bred funksjonalitet og kompetent teknisk søkemotoroptimalisering
Share42 - et skript for å legge til sosiale nettverksknapper og bokmerker til nettstedet (det er et flytende panelalternativ)
Når du oppretter et nettsted, er det ofte behov for å holde oversikt over den horisontale menyen, som inneholder hovednavigasjonen til nettstedet. Metoden for å "fikse" den horisontale menyen er praktisk fra den besøkendes synspunkt, som "har navigasjon alltid for hånden", uansett hvor mye du dreier hjulet ned eller opp.
Fikser den horisontale menyen med CSS: posisjon:fast På den ene siden er alt enkelt og lett å løse ved hjelp av CSS på kort tid. Eksempel på HTML-layout for en fast horisontal meny:
- hjem
- Nyheter
- Kontakter
- Søk
[sideinnhold] [sidebunntekst]CSS-oppsett av en fast horisontal meny:
# menu-top-almost-fixed( posisjon: fast; topp: 10px; venstre: 0; høyde: 30px; bredde: 100%; margin: 0; )
La oss nå sette innrykk for sideinnholdet lik høyden på menyen:
#content ( margin-top: 30px; )
Og nå har vi "nesten" lyktes. Menyen er alltid synlig for besøkende. Men hva skal vi gjøre hvis vi har en sideoverskrift i designet vårt, etterfulgt av selve menyen, og i overskriften har vi en logo, nettstedsmotto og bannere.
Vel, vi kan fikse sideoverskriften ved å gjøre innholdsinnrykk lik høyde med overskriften og menyen, sammen med innrykk mellom dem. Men det oppstår et problem. Vi begrenser visningsplassen betydelig for våre besøkende til å se sideinnhold. Alternativet til å forlate hetten passer ikke oss i det hele tatt.
Retting av en horisontal meny ved hjelp av javascript Så la oss vurdere alternativet når menyen "går" bak sideoverskriften, men hvis den besøkende aktivt ruller nedover, er menyen "fikset" øverst og forblir på plass. Nettstedets overskrift er ikke synlig. Hvis den besøkende går tilbake til sideoverskriften, "blir" menyen på sin plass "bak sideoverskriften". Til å begynne med, her er det komplette HTML-oppsettet for et eksempel på sideoppsett:
Nettsidelogo Nettstedslagord Banner
- hjem
- Nyheter
- Kontakter
- Søk
[sideinnhold] [sidebunntekst]Vår nettsidemal består av flere typiske områder:
- sideoverskrifter – #Overskrift, høyde 150 px
- horisontal meny – #meny-topp-nesten-fikset– høyde 30px,
- hovedinformasjonsområdet på siden – #innhold,
- sidebunntekst - #bunntekst.
Her er CSS-oppsettet:
#menu-top-almost-fixed( posisjon: fast; margin: 0; venstre: 0; topp: 150px; høyde: 30px; ) #header( display: block; height: 150px; overflow: skjult; posisjon: relativ; margin -bottom: 55px; ) #meny-topp-nesten-fiksert ul, #meny-topp-nesten-fiksert li( listestil: ingen; margin: 0; utfylling: 0; ) #meny-topp-nesten-fiksert ul ( display: block; text-align: center; width: 100%; float: left; ) #menu-top-nesten-fixed ul li( display: inline; line-height: 30px; width: 120px; padding: 0 5px ; tekstjustering: midtstilt;)
Først, la oss sette et innrykk fra overskriften til innholdet lik høyden på menyen vår + et lite innrykk med en margin for estetisk skjønnhet. #header ( margin-bottom: 55px; ) . La oss fikse menyen vår rett bak overskriften: #menu-top-almost-fixed( posisjon: fast; margin: 0; venstre: 0; topp: 150px; høyde: 30px; ) .
La oss nå sørge for at når du ruller, "fikser" menyen nøyaktig øverst på siden. La oss sette følgende javascript mellom og:
Javascript:
var ml = 150; /* toppteksthøyde i piksler */ var m2 = 2; /* innrykk når overskriften ikke lenger er synlig under rulling */ var menuID = "meny-topp-nesten-fikset"; /* id for den horisontale menyen til pin */ var menuOpacityOnChange = "0.7"; /* menygjennomsiktighet ved rulling: 1 - ugjennomsiktig, 0,5 - gjennomsiktig 0,0 - helt gjennomsiktig */ var menuOpacityOnChangeIE = menuOpacityOnChange * 100; /* funksjon for å bestemme innrykk fra toppen av dokumentet til den nåværende posisjonen til rullerulleren */ funksjonen getScrollTop() ( var scrOfY = 0; if(typeof(window.pageYOffset) == "nummer" ) ( //Netscape-kompatibel scrOfY = window.pageYOffset ; ) else if(document.body && (document.body.scrollLeft || document.body.scrollTop)) ( //DOM-kompatibel scrOfY = document.body.scrollTop; ) else if(document.documentElement && (document.documentElement. scrollLeft || document.documentElement.scrollTop)) ( //IE6 Strict scrOfY = document.documentElement.scrollTop; ) return scrOfY; ) /*-funksjon som setter topputfyllingen for en flytende fast horisontal meny avhengig av rulleposisjon og synlighetsoverskrifter */ function marginMenuTop() ( var top = getScrollTop(); var s = document.getElementById(menuID); if(typeof s != "undefined" && s)( if (top) +m2< m1) {
s.style.top = (m1-top) + "px";
s.style.filter = s.style.filter.replace("progid:DXImageTransform.Microsoft.Alpha(opacity="+menuOpacityOnChangeIE+")","");
s.style.opacity = "1";
} else {
s.style.top = m2 + "px";
s.style.opacity = menuOpacityOnChange;
s.style.filter = s.style.filter.replace("progid:DXImageTransform.Microsoft.Alpha(opacity="+menuOpacityOnChangeIE+")","");
s.style.filter += "progid:DXImageTransform.Microsoft.Alpha(opacity="+menuOpacityOnChangeIE+")";
}
}
}
/** функция регистрирует
вычисление позиции
«плавающего» меню при прокрутке страницы
**/
function setMenuPosition(){
if(typeof window.addEventListener != "undefined"){
window.addEventListener("scroll", marginMenuTop, false);
} else if(typeof window.attachEvent != "undefined"){
window. attachEvent("onscroll", marginMenuTop);
}
marginMenuTop();
}
/** регистрируем вызов
необходимых функций после
загрузки страницы **/
if(typeof window.addEventListener != "undefined"){
window.addEventListener("load", setMenuPosition, false);
} else if(typeof window.attachEvent != "undefined"){
window. attachEvent("onload", setMenuPosition);
}
Du kan se et eksempel på implementeringen ved å følge denne lenken og bruke rullehjulet. Så alt er enkelt her. I innstillingene sender vi følgende parametere til skriptet:
- var ml = 150; - toppteksthøyde i piksler,
- var m2 = 2; - innrykk når overskriften ikke lenger er synlig mens du ruller,
- var menuID = "meny-topp-nesten-fiksert"; - ID for den horisontale menyen for å feste,
- var menuOpacityOnChange = “0.7”; - menygjennomsiktighet når du ruller:
- 1 - ugjennomsiktig
- 0,5 – gjennomskinnelig
- 0,0 - helt gjennomsiktig
I denne versjonen har vi "justert" menyen vår litt, og når vi ruller legger vi til gjennomsiktighet til den. Et mer klassisk alternativ foreslår umiddelbart seg selv når vi ikke endrer gjennomsiktigheten til menyen, men bare lager en bakgrunn for menyen i form av en bakgrunn med menyfargen og en nedre gjennomskinnelig kant (hvor gradienten jevnt "overgår" ” fra en ugjennomsiktig farge til en gjennomsiktig):
La oss endre litt CSS-layout for vår horisontale faste meny:
#menu-top-almost-fixed( posisjon: fast; margin: 0; venstre: 0; topp: 150px; høyde: 30px; bakgrunn: url(./images/white-gradient-l.png) repeter-x nederst til venstre ;)
La oss nå gi den modifiserte javascript-koden, som vi vil plassere mellom og:
Javascript:
var ml = 150; /* toppteksthøyde i piksler */ var m2 = 0; /* innrykk når overskriften ikke lenger er synlig under rulling */ var menuID = "meny-topp-nesten-fikset"; /* funksjon for å bestemme innrykk fra toppen av dokumentet til den nåværende posisjonen til rullerulleren */ funksjonen getScrollTop() ( var scrOfY = 0; if(typeof(window.pageYOffset) == "nummer" ) ( //Netscape-kompatibel scrOfY = window.pageYOffset ; ) else if(document.body && (document.body.scrollLeft || document.body.scrollTop)) ( //DOM-kompatibel scrOfY = document.body.scrollTop; ) else if(document.documentElement && (document.documentElement. scrollLeft || document.documentElement.scrollTop)) ( //IE6 Strict scrOfY = document.documentElement.scrollTop; ) return scrOfY; ) /*-funksjon som setter topputfyllingen for en flytende fast horisontal meny avhengig av rulleposisjon og synlighetsoverskrifter */ function marginMenuTop() ( var top = getScrollTop(); var s = document.getElementById(menuID); if(typeof s != "undefined" && s)( if (top) +m2< m1) {
s.style.top = (m1-top) + "px";
} else {
s.style.top = m2 + "px";
}
}
}
/** функция регистрирует
вычисление позиции
«плавающего» меню при прокрутке страницы
**/
function setMenuPosition(){
if(typeof window.addEventListener != "undefined"){
window.addEventListener("scroll", marginMenuTop, false);
} else if(typeof window.attachEvent != "undefined"){
window. attachEvent("onscroll", marginMenuTop);
}
}
/** регистрируем вызов
необходимых функций после
загрузки страницы **/
if(typeof window.addEventListener != "undefined"){
window.addEventListener("load", setMenuPosition, false);
} else if(typeof window.attachEvent != "undefined"){
window. attachEvent("onload", setMenuPosition);
}
Så alt er enkelt her. I innstillingene sender vi følgende parametere til skriptet:
- var ml = 150; - toppteksthøyde i piksler,
- var m2 = 0; - innrykk når overskriften ikke lenger er synlig under rulling.
Menyen fungerer fint, men laster du inn siden på nytt, vises menyen med første innrykk Hvis det er et slikt problem, må du ringe menyen etter å ha lastet siden én gang. For å gjøre dette, endre funksjonsanropskoden fra:
Funksjon setMenuPosition())( if(typeof window.addEventListener != "undefined")( window.addEventListener("scroll", marginMenuTop, false); ) else if(typeof window.attachEvent != "undefined")( window. attachEvent ( "onscroll", marginMenuTop); ) );
Til følgende kode:
Funksjon setMenuPosition())( if(typeof window.addEventListener != "undefined")( window.addEventListener("scroll", marginMenuTop, false); ) else if(typeof window.attachEvent != "undefined")( window. attachEvent ( "onscroll", marginMenuTop); ) marginMenuTop(); );
Etter at siden er lastet, kaller vi umiddelbart marginMenuTop-funksjonen vår, som vil sjekke plasseringen av menyen på siden og bruke ønsket stil
Implementering av en delvis fast meny ved å bruke Afixx jQuery-plugin fra Twitter Bootstrap I forlengelsen av dette emnet ble det skrevet en artikkel for deg om implementering av en nesten fast meny ved å bruke jQuery Affix-plugin fra Twitter Bootstrap-rammeverket.
Nylig har en trend blitt mote: en fast meny når du ruller en side. Vanligvis er dette en horisontal meny på landingssider.
Hvordan det fungerer er at når siden laster, er menyen plassert på et bestemt sted på siden (for eksempel under "overskriften"), og når du blar på siden, er den løst øverst i nettleservinduet og ruller ikke som annet innhold.
Hvis den besøkende ruller opp på siden og kommer til begynnelsen av siden, går menyen tilbake til sin plass. Dermed kan den besøkende, som er hvor som helst på siden, bruke den og gå til andre sider på nettstedet. Dette er veldig praktisk og samsvarer med brukervennlighetsprinsipper.
Nå vil jeg fortelle deg hvordan du implementerer en slik meny ved å bruke et minimum av tid og uten å ty til hjelp fra fagfolk.
Først må vi koble til jQuery-biblioteket for nettstedet
<
script src=
"//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"
>
Du kan koble til lokalt eller via Google.
For å koble til lokalt, må du laste ned jQuery-filen fra den offisielle nettsiden http://jquery.com/
CSS
![](https://i1.wp.com/spark.ru/upload/other/b_558e534cddfe5.jpg)
JavaScript
![](https://i0.wp.com/spark.ru/upload/other/b_558e53698c52a.jpg)
I skriptet lager vi 2 variabler der vi lagrer verdiene for høyden på overskriften og innrykk av blokken med menyen øverst. Det kan ikke være noen innrykk (som i dette tilfellet). Deretter skriver vi en behandler for onScroll-hendelsen til vindusobjektet. I den, ved å bruke scrollTop()-metoden, beregner vi avstanden fra toppen av siden til den nåværende posisjonen til rullerulleren. Basert på beregningen plasserer vi blokken med menyen.
Det er alt, takket være enkle løsninger kan du oppnå en vakker fast meny som ikke vil bla gjennom når du ruller hoveddelen av nettstedet
Det første vi skal gjøre er å lime inn HTML-koden vår på stedet på nettstedet ditt der du vil se menyen.
- hjem
- WordPress
- HTML5&CSS3
- PHP
Menyen er tildelt standardklassen, takket være hvilken vår jquery kan bestemme at denne spesielle blokken da må festes til toppen.
2. jQuery-kode I toppteksten, før avslutningshodet, setter du inn koden. Som jeg skrev ovenfor, definerer den en blokk med klassestandard, og etter rulling tilordner den den klassen fast . Du kan endre klassenavnene hvis du trenger det. Men bare vær forsiktig og ikke gå glipp av noe, ellers vil alt rett og slett slutte å fungere. Du må endre i jQuery, HTML og CSS.
$(document).ready(function())( var $menu = $("#menu"); $(window).scroll(function())( if ($(this).scrollTop() > 100 && $ menu. hasClass("standard"))( $menu.fadeOut("rask",funksjon())( $(this).removeClass("standard") .addClass("fast transbg") .fadeIn("rask") ; )) ; ) else if($(this).scrollTop()