Astăzi vom învăța cum să adăugăm "corelarea profundă" cu filele Bootstrap 4. Pentru a înțelege mai bine la ce lucrăm, verificați pagina demo și acordați atenție următoarelor două aspecte:
Vom descrie trei pași principali; HTML, CSS și JavaScript. Se presupune un anumit nivel de competență pentru toate cele trei. Ești încântat să vezi cum vom construi acest lucru? Dacă răspunsul este da, să începem!
Vom schimba lucrurile cu un șablon de pornire preluat din documentația lui Bootstrap.
Cum se adaugă legătura profundă cu componenta Componente tabulare Bootstrap 4
Pentru a crea filele, vom profita de codul exemplu pentru componenta tabelă pe care o oferă Bootstrap:
Apoi specificăm câteva reguli CSS pentru componenta noastră. Nimic prea fantezist, doar câteva stiluri de bază. Merită menționat faptul că într-un tutorial anterior, am folosit stiluri similare pentru a construi o componentă tabulară personalizată.
Iată stilurile inițiale:
.nav-mytabs margin-top: 2rem; .nav-mytabs li: nu (: ultimul-copil) margin-right: 7px; .nav-mytabs o poziție: relativă; top: 4px; padding: 10px 25px; raza de graniță: 2px 2px 0 0; fundal: alb; culoarea neagra; opacitate: 0,7; tranziție: toate cu ușurință în afară; .nav-mytabs a.active, .nav-mytabs a: hover opacitate: 1; top: 0; .mytab-content poziție: relativă; z-index: 2; padding: 25px; raza de graniță: 0 4px 4px 4px; fundal: alb;
Cu HTML și CSS în loc, este timpul să se uite la codul JavaScript necesar (acesta este bitul important).
Mai întâi, când DOM este gata, vom prelua adresa URL a paginii și vom folosi o expresie regulată pentru a elimina slash-ul acesteia. De exemplu, dacă adresa URL inițială este ceva/
, adresa URL modificată va fi ceva
.
Apoi, verificăm dacă adresa URL conține un hash. În acest caz, înseamnă că dorim să afișăm conținutul filei a doua sau a treia (în exemplul nostru). Pentru aceasta, efectuăm următoarele:
fila
metodă.replaceState
metodă.De fiecare dată când dăm clic pe o filă, procedăm după cum urmează:
href
valoarea atributului din această filă. În cazul nostru, valorile posibile sunt #Acasă
, #istorie
, # city-atracții
.replaceState
metodă.Iată JavaScript-ul care are grijă de toate acestea:
$ (document) .ready (() => url = location.href.replace (/ \ / $ /, ""); $ ('# myTab a [href = "#' + hash [1] + '"]'). ($) ($) ($) ($) ($) ($) ($). pe ("faceți clic", funcția () let.new (); const hash = $ (this) .attr ("href" 0]; altceva newUrl = url.split ("#") [0] + hash; newUrl + = "/";
Demo-ul ar trebui să funcționeze bine în toate browserele recente. Pentru simplificare, nu am folosit un compilator JavaScript (de exemplu, Babel), dar în codul dvs. propriu-ar putea fi necesar.
În acest tutorial, am reușit să personalizăm comportamentul fișierelor Bootstrap 4, oferind fiecare filă o adresă URL identificabilă, făcând conținutul lor mai navigabil și mai ușor de trimis. Rețineți că procesul implementat aici poate fi aplicat și pentru orice alt cadru sau chiar pentru o componentă tabulară personalizată.
Dacă este ceva ce nu ați înțeles sau ceva vă pare neclar, spuneți-mi în comentariile de mai jos!