Imajte na umu da ako postoje jednostruki navodniki u kodu zatvorenom u echo "" , oni će se morati izbjeći, tj. stavite obrnutu kosu crtu (\") ispred svakog od njih, naravno bez zagrada.
Općenito, ispalo je kako se ispostavilo. Morat ćete sami odlučiti kako to konkretno priložiti svojoj temi - kada imate vremena, čak je zabavno i "razbijati mozak". Hvala ti.
Sretno ti! Vidimo se uskoro na stranicama blog stranice
Možda ste zainteresovani
WebPoint PRO je responzivna WordPress tema sa širokom funkcionalnošću i kompetentnom tehničkom optimizacijom za pretraživače
Share42 - skripta za dodavanje dugmadi i oznaka za društvene mreže na stranicu (postoji opcija plutajućeg panela)
Prilikom kreiranja web stranice često postoji potreba da imate u vidu horizontalni meni, koji sadrži glavnu navigaciju stranice. Način „fiksiranja“ horizontalnog menija je zgodan sa stanovišta posetioca, kome „navigacija uvek bude pri ruci“, bez obzira koliko okrećete točkić nadole ili gore.
Popravljanje horizontalnog menija sa CSS: position:fixed S jedne strane, sve je jednostavno i lako riješiti korištenjem CSS-a za kratko vrijeme. Primjer HTML izgleda fiksnog horizontalnog menija:
- Dom
- Vijesti
- Kontakti
- Traži
[sadržaj stranice] [podnožje stranice]CSS izgled fiksnog horizontalnog menija:
# menu-top-almost-fixed( pozicija: fiksna; vrh: 10px; lijevo: 0; visina: 30px; širina: 100%; margina: 0; )
Sada postavimo uvlačenje za sadržaj stranice jednako visini menija:
#content ( margin-top: 30px; )
I sada smo “skoro” uspjeli. Jelovnik je uvek vidljiv posetiocu. Ali šta da radimo ako u svom dizajnu imamo zaglavlje sajta, zatim sam meni, a u zaglavlju imamo logo, moto sajta i banere.
Pa, možemo popraviti zaglavlje stranice tako što ćemo napraviti uvlačenje sadržaja u visini zaglavlja i menija, zajedno sa uvlačenjem između njih. Ali nastaje problem. Našim posjetiteljima značajno ograničavamo prostor za gledanje sadržaja stranice. Opcija da napustimo kapu nikako nam ne odgovara.
Popravljanje horizontalnog menija koristeći javascript Dakle, hajde da razmotrimo opciju kada meni „ide“ iza zaglavlja sajta, ali ako posetilac aktivno skroluje prema dole, meni je „fiksiran“ na vrhu i ostaje na mestu. Zaglavlje stranice nije vidljivo. Ako se posjetitelj vrati na zaglavlje stranice, meni “postaje” na svom mjestu “iza zaglavlja stranice”. Za početak, evo kompletnog HTML izgleda primjera izgleda stranice:
Logo web stranice Slogan web stranice Baner
- Dom
- Vijesti
- Kontakti
- Traži
[sadržaj stranice] [podnožje stranice]Naš predložak web stranice sastoji se od nekoliko tipičnih područja:
- zaglavlja sajta – #header, visina 150px
- horizontalni meni – #menu-top-skoro-fixed– visina 30px,
- glavna informativna oblast stranice – #content,
- podnožje stranice - #footer.
Evo CSS izgleda:
#menu-top-almost-fixed( position: fixed; margin: 0; left: 0; top: 150px; height: 30px; ) #header( display: block; height: 150px; overflow: hidden; position: relative; margin -bottom: 55px; ) #menu-top-almost-fixed ul, #menu-top-almost-fixed li(list-style: none; margin: 0; padding: 0; ) #menu-top-almost-fixed ul ( display: block; text-align: center; širina: 100%; float: lijevo; ) #menu-top-almost-fixed ul li( display: inline; line-height: 30px; širina: 120px; padding: 0 5px ; text-align: center; )
Prvo, postavimo uvlačenje od zaglavlja do sadržaja jednaku visini našeg menija + malo uvlačenje sa marginom za estetsku ljepotu. #header ( margin-bottom: 55px; ) . Popravimo naš meni odmah iza zaglavlja: #menu-top-almost-fixed( position: fixed; margin: 0; left: 0; top: 150px; height: 30px; ) .
Sada se uvjerimo da se prilikom pomicanja meni "popravlja" tačno na vrhu stranice. Stavimo sljedeći javascript između i :
Javascript:
var m1 = 150; /* visina zaglavlja u pikselima */ var m2 = 2; /* uvlačenje kada zaglavlje više nije vidljivo tokom skrolovanja */ var menuID = "menu-top-almost-fixed"; /* id horizontalnog menija za pin */ var menuOpacityOnChange = "0.7"; /* transparentnost menija pri skrolovanju: 1 - neproziran, 0.5 - proziran 0.0 - potpuno transparentan */ var menuOpacityOnChangeIE = menuOpacityOnChange * 100; /* funkcija za određivanje uvlake između pretraživača od vrha dokumenta do trenutne pozicije skrolera */ funkcija getScrollTop() ( var scrOfY = 0; if(typeof(window.pageYOffset) == "broj" ) ( //Netscape kompatibilan scrOfY = window.pageYOffset ; ) else if(document.body && (document.body.scrollLeft || document.body.scrollTop)) ( //DOM kompatibilan scrOfY = document.body.scrollTop; ) else if(document.documentElement && (document.documentElement. scrollLeft || document.documentElement.scrollTop)) ( //IE6 Strict scrOfY = document.documentElement.scrollTop; ) return scrOfY; ) /* funkcija koja postavlja gornju funkciju paddinga fiksni horizontalni meni u zavisnosti od položaja skrolera i zaglavlja vidljivosti */ funkcija marginMenuTop() ( var top = getScrollTop(); var s = document.getElementById(menuID); if(typeof s != "undefined" && s)( if (vrh +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);
}
Možete vidjeti primjer implementacije prateći ovu vezu i koristeći kotačić za pomicanje. Dakle, ovdje je sve jednostavno. U postavkama skripti prosljeđujemo sljedeće parametre:
- var m1 = 150; - visina zaglavlja u pikselima,
- var m2 = 2; - uvlačenje kada se zaglavlje više ne vidi tokom skrolovanja,
- var menuID = “meni-top-gotovo fiksno”; - id horizontalnog menija za zakačenje,
- var menuOpacityOnChange = “0.7”; - transparentnost menija pri skrolovanju:
- 1 - neproziran
- 0,5 – proziran
- 0,0 - potpuno transparentan
U ovoj verziji smo malo „naštimali“ naš meni, a pri skrolovanju mu dodajemo prozirnost. Klasičnija opcija se odmah nameće, kada ne mijenjamo prozirnost menija, već jednostavno napravimo pozadinu za meni u obliku pozadine s bojom menija i donjom prozirnom granicom (u kojoj gradijent glatko „prelazi“ ” od neprozirne boje do prozirne):
Promijenimo malo CSS raspored za naš horizontalni fiksni meni:
#menu-top-almost-fixed( pozicija: fiksna; margina: 0; lijevo: 0; gore: 150px; visina: 30px; pozadina: url(./images/white-gradient-l.png) dolje lijevo repeat-x ; )
Sada dajmo modificirani javascript kod, koji ćemo postaviti između i :
Javascript:
var m1 = 150; /* visina zaglavlja u pikselima */ var m2 = 0; /* uvlačenje kada zaglavlje više nije vidljivo tokom skrolovanja */ var menuID = "menu-top-almost-fixed"; /* funkcija za određivanje uvlake između pretraživača od vrha dokumenta do trenutne pozicije skrolera */ funkcija getScrollTop() ( var scrOfY = 0; if(typeof(window.pageYOffset) == "broj" ) ( //Netscape kompatibilan scrOfY = window.pageYOffset ; ) else if(document.body && (document.body.scrollLeft || document.body.scrollTop)) ( //DOM kompatibilan scrOfY = document.body.scrollTop; ) else if(document.documentElement && (document.documentElement. scrollLeft || document.documentElement.scrollTop)) ( //IE6 Strict scrOfY = document.documentElement.scrollTop; ) return scrOfY; ) /* funkcija koja postavlja gornju funkciju paddinga fiksni horizontalni meni u zavisnosti od položaja skrolera i zaglavlja vidljivosti */ funkcija marginMenuTop() ( var top = getScrollTop(); var s = document.getElementById(menuID); if(typeof s != "undefined" && s)( if (vrh +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);
}
Dakle, ovdje je sve jednostavno. U postavkama skripti prosljeđujemo sljedeće parametre:
- var m1 = 150; - visina zaglavlja u pikselima,
- var m2 = 0; - uvlačenje kada zaglavlje više nije vidljivo tokom pomicanja.
Meni radi dobro, ali ako ponovo učitate stranicu, meni se pojavljuje s prvom uvlakom Ako postoji takav problem, morate pozvati meni nakon što jednom učitate stranicu. Da biste to učinili, promijenite pozivni kod funkcije iz:
Funkcija setMenuPosition())( if(typeof window.addEventListener != "undefined")( window.addEventListener("scroll", marginMenuTop, false); ) else if(typeof window.attachEvent != "undefined")( window. attachEvent ( "onscroll", marginMenuTop); ) );
Na sljedeći kod:
Funkcija setMenuPosition())( if(typeof window.addEventListener != "undefined")( window.addEventListener("scroll", marginMenuTop, false); ) else if(typeof window.attachEvent != "undefined")( window. attachEvent ( "onscroll", marginMenuTop); ) marginMenuTop(); );
Nakon što se stranica učita, odmah pozivamo našu marginMenuTop funkciju, koja će provjeriti poziciju menija na stranici i primijeniti željeni stil
Implementacija djelimično fiksnog menija pomoću dodatka Afixx jQuery iz Twitter Bootstrapa U nastavku ove teme, za vas je napisan članak o implementaciji gotovo fiksnog menija pomoću jQuery Affix dodatka iz Twitter Bootstrap framework-a.
Nedavno je postao moderan trend: fiksni meni pri skrolovanju stranice. Obično je ovo horizontalni meni na odredišnim stranicama.
Funkcioniše tako da kada se stranica učita, meni se nalazi na određenom mestu na stranici (na primer, ispod „zaglavlja“), a kada skrolujete po stranici, fiksira se na vrhu prozora pretraživača i ne skroluje kao drugi sadržaj.
Ako posjetitelj skroluje prema gore i dođe do početka stranice, meni se vraća na svoje mjesto. Dakle, posjetitelj, koji se nalazi bilo gdje na stranici, može je koristiti i otići na druge stranice stranice. Ovo je vrlo zgodno i u skladu je sa principima upotrebljivosti.
Sada ću vam reći kako implementirati takav meni trošeći minimalno vrijeme i bez pribjegavanja pomoći profesionalaca.
Prvo, moramo povezati jQuery biblioteku za stranicu
<
script src=
"//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"
>
Možete se povezati lokalno ili putem Google-a.
Da biste se povezali lokalno, morate preuzeti jQuery datoteku sa službene web stranice http://jquery.com/
CSS
JavaScript
U skripti kreiramo 2 varijable u koje spremamo vrijednosti visine zaglavlja i uvlačenja bloka sa menijem na vrhu. Možda nema uvlačenja (kao u ovom slučaju). Zatim pišemo rukovalac za događaj onScroll objekta prozora. U njemu, koristeći metodu scrollTop(), izračunavamo udaljenost od vrha stranice do trenutne pozicije skrolera. Na osnovu proračuna pozicioniramo blok sa menijem.
To je sve, zahvaljujući jednostavnim rješenjima možete postići prekrasan fiksni meni koji se neće pomicati pri skrolovanju glavnog dijela stranice
Prva stvar koju ćemo uraditi je da zalijepimo naš HTML kod na mjesto na vašoj web stranici gdje želite da vidite meni.
- Dom
- WordPress
- HTML5&CSS3
- PHP
Meni je dodeljena podrazumevana klasa, zahvaljujući kojoj naš jquery onda može utvrditi da ovaj određeni blok onda treba da bude zakačen na vrh.
2. jQuery kod U zaglavlje, prije glave za zatvaranje, unesite kod. Kao što sam gore napisao, on definira blok sa klasom default i nakon pomicanja mu dodjeljuje class fixed. Možete promijeniti nazive klasa ako vam je potrebno. Ali samo budite oprezni i ne propustite ništa, inače će sve jednostavno prestati raditi. Morate promijeniti u jQuery, HTML i CSS.
$(document).ready(function())( var $menu = $("#menu"); $(window).scroll(function())( if ($(this).scrollTop() > 100 && $ menu. hasClass("default"))( $menu.fadeOut("fast",function())( $(this).removeClass("default") .addClass("fixed transbg") .fadeIn("fast") ; )) ; ) else if($(this).scrollTop()