Zrób suwak jquery z nawigacją. Niestandardowy suwak obrazu z jQuery
Musisz dodać przyciski „do przodu” i „wstecz”.
W tym celu należy uzupełnić napisany wcześniej kod.
Kod HTML dla nowego slidera
Cała struktura suwaka pozostanie taka sama. Do znaczników zostaną dodane dwa pojemniki, które będą działać jak przyciski.
>Style suwaków
Przyciski zajmą swoje miejsce dzięki bezwzględnemu pozycjonowaniu względem kontenera.slider-box
Slider-box( pozycja : względne ; szerokość : 320px ; wysokość : 210px ; przepełnienie : ukryte ; ) .slider( pozycja : względne ; szerokość : 10000px ; wysokość : 210px ; ) .slider img( float : left ; ) .slider-box .prev , .slider-box .next( position : absolute ; top : 100px ; display : block ; width : 29px ; height : 29px ; cursor : pointer ; ) .slider-box .prev( left : 10px ; background : url ( ../images/slider_controls.png ) no-repeat 0 0 ; ) .slider-box .next( right : 10px ; background : url (../images/slider_controls.png ) no-repeat -29px 0 ; )
Scenariusz
Suwak przewija się automatycznie. Domyślnie ruch odbywa się od lewej do prawej, ale w razie potrzeby możesz zmienić kierunek jego ruchu za pomocą zmiennej kursu. Zmieniając wartość zmiennej z 1 na -1, zmieni się kierunek suwaka.
Obrazy w suwaku nie powinny się zmieniać, gdy kursor znajduje się w suwaku. Po co to jest? Wszystko jest proste. Jeśli kursor myszy znajduje się na suwaku, oznacza to, że odwiedzający witrynę jest zainteresowany jej treścią. W tej chwili nie zmieniaj slajdów automatycznie.
$(function () ( var slider = $(.slider" ) , sliderContent = slider.html () , // Zawartość suwaka slideWidth = $(".slider-box") .outerWidth() , // Szerokość suwaka slideCount = $(".slider img") .length , // Liczba slajdów prev = $(".slider-box .prev" ) , // przycisk Wstecz next = $(".slider-box .next" ) , // przycisk Dalej suwakInterwał = 3300 , // Interwał na zmianę slajdów animacjaCzas = 1000 , // Czas zmienić slajdy kurs = 1 // Kierunek ruchu suwaka (1 lub -1) margines = - szerokość slajdu; // Przesunięcie początkowych slajdów$(.slider img:last" ) .clone() .prependTo (.slider" ) ; // Kopia ostatniego slajdu jest umieszczana na początku.$(.slider img" ) .eq (1 ) .clone () .appendTo (.slider" ) ; // Kopia pierwszego slajdu jest umieszczana na końcu.$(".slider" ) .css ("margin-left" , - slideWidth) ; // Container.slider jest przesuwany w lewo o szerokość jednego slajdu. funkcja nextSlide() ( // Uruchamia funkcję Animation() w celu wykonania przejścia slajdu. interwał = window.setInterval (animacja, sliderInterval) ; ) function animate() ( if (margin==- slideCount* slideWidth- slideWidth) ( // Jeśli suwak doszedł do końca slider.css (( "marginLeft" :- slideWidth) ) ; // wtedy block.slider wraca do swojej początkowej pozycji margines=- szerokość slajdu* 2 ; ) else if (marża== 0 && kurs==- 1 ) ( // Jeśli suwak jest na początku, a przycisk Wstecz jest wciśnięty slider.css (( "marginLeft" :- slideWidth* slideCount) ) ; // następnie block.slider przesuwa się do końcowej pozycji margin=- slideWidth* slideCount+ slideWidth; ) w przeciwnym razie ( // Jeśli powyższe warunki zawiodą, margin = margin - slideWidth* (kurs) ; // wartość marginesu jest ustawiona na pokazanie następnego slajdu) slider.animate (( "marginLeft" : margin) , animateTime) ; // Block.slider przesuwa się w lewo o 1 slajd.) funkcja sliderStop() ( // Funkcja zatrzymania suwaka window.clearInterval(interwał); )poprzedni.klik(funkcja()( // Naciśnięto przycisk Wstecz var kurs2 = kurs; kurs = - 1 ; animacja(); // Wywołaj funkcję animate() kurs = kurs2 ; ) ; next.click(funkcja()( // Naciśnięto przycisk Wstecz if (slider.is (:animated" ) ) ( return false ; ) // Jeśli nie pojawia się animacja var kurs2 = kurs; // Tymczasowa zmienna do przechowywania wartości kursu kurs = 1 ; // Ustaw kierunek suwaka od prawej do lewej animacja(); // Wywołaj funkcję animate() kurs = kurs2 ; // Zmienna kursu powraca do pierwotnej wartości) ; slider.add(next) .add(prev) .hover(funkcja()( // Jeśli kursor myszy znajduje się w suwaku sliderStop(); // Funkcja sliderStop() jest wywoływana, aby zatrzymać suwak) , Następny slajd); // Gdy kursor opuści suwak, animacja zostanie wznowiona. Następny slajd() ; // Wywołaj funkcję nextSlide() } ) ;Okazało się, że taki suwak z przyciskami „do przodu” i „wstecz”
Ale skoro omawiamy z Wami podstawy JS, to w celu przestudiowania podstaw opiszę jak stworzyć najprostszy slider używając tylko Język JavaScript. Cóż, przejdźmy do analizy materiału!
Jakie są rodzaje suwaków i gdzie mogą być potrzebne?
Tworzenie wygodnych galerii do przeglądania obrazów jest wymagane we wszystkich serwisach internetowych, w których znajduje się przynajmniej kilka zdjęć. Mogą to być sklepy internetowe, strony z portfolio, serwisy informacyjne i edukacyjne, strony internetowe firm i lokale rozrywkowe z fotorelacjami itp.
Jednak to aplikacja standardowa suwaki. Takie technologie są również wykorzystywane do przyciągania klientów do towarów promocyjnych, usług, czy do opisywania korzyści przedsiębiorstw.
Zasadniczo klienci proszeni są o osadzenie galerii typu karuzela na stronach internetowych. Ten poręczne narzędzie do przeglądania obrazów w dużym rozmiarze z możliwością przełączania slajdów do przodu i do tyłu przez użytkownika. W takim przypadku same obrazy zwykle przełączają się automatycznie określony czas. Taki mechanizm nazwano karuzelą ze względu na to, że wyświetlanie obrazów powtarza się w kółko.
Dzisiaj, jeśli chcesz, możesz znaleźć najbardziej niezwykłe i atrakcyjne wtyczki do przeglądania zestawu zdjęć w Internecie.
Niezależna działalność
Cóż, teraz stwórzmy nasz suwak. W tym momencie samouczka sugeruję użycie czystego JavaScript do jego implementacji. Spowoduje to automatyczne przełączanie zdjęć w kręgu.
Załączam poniżej kod programowania Twoje zgłoszenie. Zostawiłem ci po drodze komentarze.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
|
Mam nadzieję, że nie miałeś żadnych problemów z kodem css i html. Ale uważam za konieczne zdemontowanie pracy scenariusza. Przejdźmy więc do rozszyfrowania tego, co zostało napisane.
Tak więc, po pierwsze, używając metody zapytanieSelectorAll zmienny Mój suwak Przypisuję listę wszystkich elementów z podanego zakresu. Określa ten wpis
document.querySelectorAll("#slajdy .slajd")
Tak więc, w Mój suwak przechowywany jest zbiór czterech elementów.
Następnie ustawiam, od którego obrazu zacząć pokazywać, przypisując go do zmiennej obecne zdjęcie zero. Po określeniu, że zmiana suwaka następuje po 2,7 sekundy i należy wywołać funkcję przetwarzania Następny slajd.
Przejdźmy do samej funkcji.
Początkowo dla aktualnej pozycji listy zmieniam opis klas tj. przepisywanie " ślizgać sięseans" na " ślizgać się”. W ten sposób obraz staje się niewidoczny.
Teraz definiuję nowy element kolekcji, który będzie wyświetlany na ekranie. Aby to zrobić, zajmuję aktualną pozycję +1. Być może zauważyłeś, że używam również dzielenia z resztą (%) liczby slajdów, które mam. Ten zwód uszami jest konieczny, aby rozpocząć pokaz w nowym kręgu. Oto jak by to wyglądało dosłownie.
Potem czasem trzeba rozwiązać problemy związane z frontendem, mimo że mi się to nie podoba 🙂
Właściwie mój stosunek do wszystkiego, co związane z „pięknością” można było ocenić na podstawie projektu tej strony, którą opracowałem sam 🙂
Jednak stosunkowo niedawno stanąłem przed koniecznością zaimplementowania slidera w JavaScript, a to musiało zostać zrobione bez żadnych gotowych bibliotek, a nawet bez ulubionego przez wszystkich jQuery.
Potrzeba ta była spowodowana faktem, że rezultatem powinien być skrypt JS, który poprzez usługa strony trzeciej połączyć się z witryną. W konsekwencji gotowe karuzele w JavaScript natychmiast zniknęły, ponieważ. aby je zintegrować, konieczne było dodanie połączenia z biblioteką poprzez tag skryptu do kodu HTML witryny i skopiowanie samych plików na serwer lub ściągnięcie ich przez cdn, ale to znowu wymagałoby edycji kodu zasobu.
Jak zrobić suwak JavaScript: Pierwsze kroki
Dziś myślę, że każdy, kto znalazł się w podobnej sytuacji, zaczynał od poszukiwania dostępnych rozwiązań, bo. kiedy zadanie tworzenia karuzeli JS jest częścią pracy, zawsze należy to zrobić tak szybko, jak to możliwe. I w takich warunkach nikt nie pozwoli ci oczywiście usiąść i wymyślić swoich rowerów.
Klienci nigdy nie przejmują się tym, jak napisany jest kod, jaka jest jego architektura, najważniejsze jest, aby zobaczyć wynik!
W rezultacie, jak rozumiesz, przed napisaniem slidera JavaScript bez jQuery, postanowiłem znaleźć gotowy i zmodyfikować go do swoich potrzeb. Dlaczego nie ma jQuery? Tak, ponieważ na zasobie docelowym, na którym planowałem podłączyć mój slider przez usługę, wywołanie jQuery w kodzie znajdowało się później niż skrypt podłączony przez usługę. Dlatego konstrukcje jQuery w moim kodzie po prostu nie zostały dostrzeżone.
Jako podstawę wziąłem ten suwak obrazu JavaScript - https://codepen.io/gabrieleromanato/pen/pIfoD.
Postanowiłem na tym poprzestać, ponieważ. jego kod JS został napisany przy użyciu zasad OOP, a klasy w nim oparte są na prototypach, a nie na banalnych funkcjach.
Szczerze mówiąc, nie rozumiem dogłębnie i nie rozpoznaję dzisiejszego szumu wokół JavaScript używającego OOP, frameworków i innych elementów architektury w języku, który pierwotnie był pomyślany jako prosty, dynamiczny język skryptowy. Podobnie jak sam JS, szczerze nie lubię go z jego syntaktycznym winegretem, który pozwala na pisanie tych samych konstrukcji na kilka sposobów.
Ale niestety w nowoczesny świat niewiele osób podziela moje stanowiska, tk. język ten rozwija się w szalonym tempie, a nawet próbuje zdobyć umysły programistów back-endowych używających Node.js jako alternatywy dla Javy, PHP, C#, Ruby i innych potworów.
W rezultacie, aby nie pozostać banalnie bez pracy, musisz po cichu zajmować się JavaScriptem. A w implementacji slidera w czystym JavaScript, którą wybrałem, spotkałem coś, czym jak rozumiesz, gardzę w podany język. Dlatego wybrałem go tak, aby był przynajmniej jakiś powód, aby pracować i zajmować się JavaScript OOP i klasami prototypowymi – inaczej nigdy bym ich dobrowolnie w życiu nie dotknął 🙂
W oparciu o znaleziony kod musiałem opracować czysty suwak JS w wyskakującym okienku (to coś jest również nazywane popup, popup itp.), który miałby przyciski przełączania slajdów i klikalne wskaźniki bieżącego slajdu. Niezbędne było również wykonanie przycisku zamykającego to okno.
Oto, na czym skończyłem.
Tworzenie biblioteki Slider JS
Na początku postanowiłem wszystko mądrze zaimplementować i zrobić slider JavaScript dla serwisu w postaci biblioteki, która jest podłączona do serwisu jednym skryptem, w którym będą wywoływane komponenty slidera podzielone na podkatalogi. Postanowiłem do niej zadzwonić popupSlider.js na cześć swojego pierwotnego przeznaczenia.
Jego kod można znaleźć na GitHubie pod tym adresem - https://github.com/Pashaster12/popupSlider.js
Struktura biblioteki jest następująca:
Teczka slajdy przeznaczony do zdjęć slajdów. W sterownica zamieszczone zdjęcia kontrolek karuzeli JS (przyciski do zamykania slidera i przełączania slajdów). I w aktywa- statyczne elementy slidera JS: znaczniki HTML oraz plik ze stylami CSS.
Cóż, plik popupSlider.js jest sercem samej biblioteki, w której zapisywane są akcje karuzeli JavaScript i nawiązywane jest połączenie z resztą plików. To z nim połączymy się na stronie, a on już zadzwoni do reszty.
Postanowiłem zacząć od znaczników HTML dla naszej karuzeli obrazów JS, która w moim przypadku wygląda tak:
Aby zaprojektować suwak JavaScript jako wyskakujące okienko, użyłem następujących stylów:
#slider ( margin: auto; width: 600px !important; overflow: hidden; ) #slider-wrapper ( szerokość: 9999px; wysokość: 343px; pozycja: względna; przejście: lewo 400ms linear; ) .slide ( float: lewo; szerokość : 600px; pozycja: względne; przepełnienie: ukryte; ) .caption ( szerokość: 600px; wysokość: 110px; wysokość linii: 1,5; rozmiar czcionki: 15px; grubość czcionki: 300; wyrównanie tekstu: środek; kolor: # 000; display:table; ) .caption-container ( display: table-cell; vertical-align: middle; padding: 0 20px; ) #slider-nav ( pozycja: bezwzględna; dół: -36px; text-align: center; left: 50%; transform: translateX(-50%); ) #slider-nav a (szerokość: 8px; wysokość: 8px; dekoracja tekstu: brak; kolor: #000; display: inline-block; border-radius: 50%; margines: 0 5px; background-color: #fafafa; ) #slider-nav a.current ( background-color: #337ab7; ) .horizontal-controls ( position: absolutne; display: inline-block; width: 12px ; wysokość: 20px; góra: 50%; margines górny: -10px; ) #prev ( background: url(../cont role/arrow_left_inactive.png); po lewej: -40px ) #prev:hover ( background: url(../controls/arrow_left_active.png); ) #next ( background: url(../controls/arrow_right_inactive.png); right: -40px; ) #next:hover ( tło : url(../controls/arrow_right_active.png); ) #cq-popup ( width: 600px; z-index: 23; left: calc(50%); top: calc(50%); pozycja: ustalona !ważne ; powtarzanie tła: bez powtórzeń; pozycja tła: prawo; kolor tła: #fff; rodzina czcionek: „Roboto","Segoe UI","Helvetica","Georgia","Calibri","Verdana" ;transform: translate(-50%, -50%) scale(1); ) #cq-popup .header ( display: inline-block; font-size: 17px; font-weight: 500; ) #cq-popup > div (szerokość: 500px; rozmiar czcionki: 22px; wysokość linii: 36px; ) #cq-popup-btclose ( dekoracja tekstu: brak; pozycja: bezwzględna; prawo: -40px; góra: 0; tło: url(. ./controls/btn_delete_inactive.png); wysokość: 16px; szerokość: 16px; ) #cq-popup-btclose:hover ( background: url(../controls/btn_delete_active.png); ) #cq-popup-bg ( pozycja :stała; góra:0; szerokość: 100% ; wzrost: 100%; tło: rgba(51,51,51,0.8); indeks z: 22; )
W wyniku zastosowania tych stylów JS karuzela wygląda tak:
Zarówno znaczniki HTML, jak i style CSS, które wyciągnąłem pojedyncze pliki popupSlider.html i popupSlider.css, które znajdują się w katalogu asset biblioteki suwaków JavaScript. Zrobiłem to celowo, aby użytkownicy korzystający z tego kodu mogli łatwo dostosować znaczniki i projekt, bez wchodzenia w kod JS, gdzie renderowanie musiałoby być napisane bezpośrednio.
Ponadto wielu nadal lubi minimalizować JS, aby przyspieszyć ładowanie strony. Więc dostosuj ta decyzja w tych warunkach byłoby to bardzo trudne.
W rezultacie zdecydowałem się po prostu umieścić gotowe pliki w głównym pliku biblioteki popupSlider.js, który dla mojego zadania przybrał następującą postać:
Funkcja Slider(element) ( this.loadStatic(); this.el = document.querySelector(element); this.init(); ) Slider.prototype = ( init: function () ( this.links = this.el.querySelectorAll ("#slider-nav a"); this.wrapper = this.el.querySelector("#slider-wrapper"); this.nextBtn = this.el.querySelector("#next"); this.prevBtn = this. el.querySelector("#prev"); this.navigate(); ), nawiguj: function () ( var self = this; for (var i = 0; i< this.links.length; ++i) { var link = this.links[i]; link.addEventListener("click", function (e) { self.slide(this); }); } self.prevBtn.style.display = "none"; self.nextBtn.addEventListener("click", function (e) { var currentSlideNumber = document.querySelector("#slider-nav a.current").getAttribute("data-slide"); var nextSlide = document.querySelector(""); nextSlide.click(); }, false); self.prevBtn.addEventListener("click", function (e) { var currentSlideNumber = document.querySelector("#slider-nav a.current").getAttribute("data-slide"); var prevSlide = document.querySelector(""); prevSlide.click(); }, false); self.close(); }, slide: function (element) { this.setCurrentLink(element); var index = parseInt(element.getAttribute("data-slide"), 10) + 1; var currentSlide = this.el.querySelector(".slide:nth-child(" + index + ")"); this.wrapper.style.left = "-" + currentSlide.offsetLeft + "px"; if (index < this.links.length) this.nextBtn.style.display = "block"; else if (index == this.links.length) this.nextBtn.style.display = "none"; if (index >1) this.prevBtn.style.display = "blok"; else if (indeks == 1) this.prevBtn.style.display = "brak"; ), setCurrentLink: function (link) ( var parent = link.parentNode; var a = parent.querySelectorAll("a"); link.className = "current"; this.currentElement = link; for (var j = 0; j< a.length; ++j) { var cur = a[j]; if (cur !== link) { cur.className = ""; } } }, loadStatic: function () { var self = this; var link = document.createElement("link"); link.rel = "stylesheet"; link.href = "assets/popupSlider.css"; document.head.appendChild(link); var sliderHTML = ""; var xhr = new XMLHttpRequest(); xhr.open("GET", "assets/popupSlider.html", false); xhr.send(); if (xhr.status != 200) { alert("Can not load the popupSlider.html. Got the error " + xhr.status + ": " + xhr.statusText); } else { sliderHTML = xhr.responseText; } var div = document.createElement("div"); div.innerHTML = sliderHTML; document.body.appendChild(div); }, close: function () { document.getElementById("cq-popup-btclose").onclick = function () { document.getElementById("cq-popup-bg").remove(); document.getElementById("cq-popup").remove(); } } };
Kilka komentarzy na temat powyższego kodu. Zawartość pliku popupSlider.js to pojedyncza klasa JavaScript Slider, która podobnie jak w PHP zawiera konstruktor i metody klasowe. Tylko w JS wymagana jest definicja konstruktora, inaczej niż w PHP.
Konstruktor jest zdefiniowany za pomocą następującej konstrukcji:
Suwak funkcji(element) ( // kod konstruktora )
Wewnątrz konstruktora należy zapisać akcje, które zostaną wykonane podczas tworzenia obiektu klasy.
Same metody klas będą znajdować się w prototypie i będą dostępne dla wszystkich instancji danej klasy JavaScript. Prototyp JS w moim przypadku opisuje następująca konstrukcja:
Slider.prototype = ( //metody )
Będą wywoływane poza treścią klasy w następujący sposób:
var slider = nowy Slider(); slider.class_method();
W samym kodzie klasy dostępna jest następująca metoda:
This.class_method();
Najważniejsze, żeby nie zapomnieć, że w JavaScript wartość tego zależy od kontekstu wywołania, a więc w ciałach niektórych metod, w których trzeba było wywołać metody i właściwości klasy, znajduje się taka konstrukcja:
var self = to; self.class_method(); //odnieść się do metody znajdującej się jeden poziom powyżej kodu opisywanej metody
Wygląda na to, że opowiedziałem o wszystkich niuansach pisania kodu. Teraz kilka słów o metodach naszej klasy JavaScript, które zawierają opisy akcji JS karuzeli obrazów.
loadStatic()
Pierwsza metoda wywoływana, gdy klasa jest tworzona w konstruktorze. Odpowiada za dodanie znacznika HTML slidera oraz pliku ze stylami do kodu HTML strony serwisu.
Najpierw w pamięci tworzony jest nowy tag linku za pomocą Funkcje JavaScript document.createElement() i przypisane są do niego wszystkie niezbędne wartości atrybutów, w tym ścieżka do pliku CSS ze stylami suwaka JS. I wreszcie dodaje się do Strony HTML s przy użyciu Metoda JavaScript appendChild() na końcu sekcji head, gdzie powinny znajdować się style.
Następnie robimy to samo dla pliku z znaczniki HTML nasz slider w czystym JavaScript. Ale tutaj jest mały niuans: tak po prostu, plik HTML nie może być połączony w tym samym, tak jak zrobiliśmy to z plikiem CSS. Istnieją do tego specjalne biblioteki, na przykład w celu włączenia HTML do HTML, albo z w3.org jest świetne - https://www.w3schools.com/howto/howto_html_include.asp
Ale wtedy albo musiałby być zawarty w samej bibliotece slidera, albo użytkownicy musieliby zostać poproszeni o samodzielne zainstalowanie go. Ale to wszystko jest nieoptymalne, ponieważ. wymaga wielu ruchów ciała i spowalnia ładowanie strony dzięki dodatkowym skryptom.
W końcu zdecydowałem się umieścić zawartość pliku HTML w kodzie JavaScript i załadować go do nowego elementu div in-memory, tak jak zrobiłem wcześniej przy dołączaniu pliku CSS do JavaScript. Wygenerowany element jest podłączony do samego końca sekcji body kodu HTML strony witryny.
Jeśli chcesz wstawić div ze znacznikami suwaka nie tylko na końcu treści, ale w jakimś konkretnym kontenerze, możesz zamiast następującego kodu:
Vardiv = document.createElement("div"); div.innerHTML = sliderHTML; document.body.appendChild(div);
Napisz co następuje, określając żądany identyfikator kontenera docelowego (w moim przypadku suwak HTML JS będzie znajdował się w elemencie o identyfikatorze popupSlider):
Var target = document.querySelector("#popupSlider"); target.innerHTML = sliderHTML;
Metoda, która jest wywoływana w konstruktorze po loadStatic() i jest potrzebna do zainicjowania właściwości klasy odpowiadających głównym elementom HTML, do których uzyskamy dostęp w poniższym kodzie.
Na koniec wywoływana jest metoda navigation().
nawigować()
Ta metoda wskazuje czynności, które występują po kliknięciu przycisków przełączania slajdów i elementów nawigacyjnych znajdujących się pod samym suwakiem, w postaci kółek.
Dla wygody kod JavaScript do zmiany slajdów umieszczam w osobnej metodzie slide(), a w tej tylko go zawieszam kliknij wydarzenie za każdy okrągły guzik w pętli.
Klikając przyciski „poprzedni slajd” / „następny slajd”, jak widać, postanowiłem po prostu emulować kliknięcie odpowiedniego kółka, określając prawy w stosunku do bieżącego, który ma obecną klasę CSS.
zjeżdżalnia(element)
Metoda, która „odpowiada za magię” samej karuzeli JavaScript, która zawiera kod podmieniający slajdy. Na samym początku wywoływana jest metoda setCurrentLink(), o której powiemy nieco później.
Jako parametr wejściowy przekazywany jest do niego obiekt przycisku nawigacyjnego suwaka JS w postaci koła.
Sam przełącznik suwakowy działa tak:
- Wszystkie nasze slajdy są zaprojektowane w formie bloków o tym samym rozmiarze, przechodzących jeden po drugim. Okno suwaka to tylko widoczna część elementu, który zawiera wszystkie slajdy.
- Definiujemy przesunięcie lewej krawędzi bieżącego slajdu od lewej krawędzi elementu rodzica za pomocą właściwości offsetLeft.
- I przesuwamy element nadrzędny o tę wartość, aby potrzebny element był wyświetlany w oknie suwaka.
Na końcu metody opisano zachowanie przycisków „poprzedni slajd”/„następny slajd”, zaprojektowanych odpowiednio jako strzałki w lewo/w prawo. Jeśli bieżący slajd jest pierwszym z całej listy, przycisk przejścia do poprzedniego slajdu jest ukryty. Jeśli to drugie, usuwamy przycisk przejścia do następnego slajdu.
ustawAktualnyLink(link)
Ta metoda naszej klasy JavaScript suwaka odpowiada za podświetlenie okrągłego przycisku nawigacyjnego odpowiadającego aktualnemu elementowi. Tych. jeśli mamy wybrany drugi slajd, drugi przycisk zostanie podświetlony.
Jako parametr wejściowy przekazywany jest obiekt przycisku do funkcji, którą należy wybrać jako bieżącą.
Logika wyróżniania bieżącego elementu jest prosta:
- Otrzymujemy obiekt elementu rodzica, którym w naszym przypadku jest kontener z identyfikatorem suwak-nav.
- Pobierz wszystkie elementy nawigacyjne jako tablicę linków.
- Wybieramy element otrzymany na wejściu dodając go do klasy obecny.
- W pętli przechodzimy przez wszystkie elementy nawigacyjne i czyścimy wartość klasy dla wszystkich, z wyjątkiem bieżącej. Jest to konieczne, aby usunąć zaznaczenie z elementu, który był aktualny przed wywołaniem tej funkcji.
Ostatnia metoda klasy, która definiuje akcję po kliknięciu przycisku zamknięcia suwaka w postaci krzyżyka. Tutaj w rzeczywistości kod jest najbardziej zrozumiały ze wszystkiego, co zawiera suwakowa klasa JS.
Po kliknięciu przycisku zamykania, do którego dostęp uzyskuje się za pomocą jego identyfikatora, element suwaka i element ustawiający przezroczyste tło są usuwane ze strony. Te z kolei są uzyskiwane dzięki unikalnym identyfikatorom.
Sama metoda jest wywoływana wewnątrz opisanej wcześniej nawigacji(), która zawiera wszystkie skrypty akcji, które występują na naszym suwaku JavaScript.
Nawiasem mówiąc, jeśli chcesz, aby suwak zamykał się po kliknięciu poza nim, wystarczy dodać do tej metody następujący kod:
Document.getElementById("cq-popup-bg").onclick = function() ( document.getElementById("cq-popup-bg").remove(); document.getElementById("cq-popup").remove() ;
Pokaz slajdów JavaScript na podstawie opracowanej biblioteki
Czasami w praktyce może okazać się konieczne wykonanie karuzeli JS z przewijaniem, co często nazywa się pokazem slajdów. W moim przypadku nie było to wymagane, ale nadal zdecydowałem się stworzyć taki na podstawie ostatecznego kodu biblioteki na wypadek, gdyby mógł się przydać.
W rzeczywistości implementacja pokazu slajdów JavaScript różni się znacznie od zwykłego suwaka. Jedyną różnicą jest to, że w pokazie slajdów slajdy przełączają się automatycznie w określonym przedziale czasowym, a w przypadku zwykłej karuzeli JS zmieniają się ręcznie za pomocą elementów nawigacyjnych.
SlideShow: function (timeout) ( var sliderCount = this.links.length; var self = this; this.slideCycle = setInterval(function () ( var currentSlideNumber = document.querySelector("#slider-nav a.current").getAttribute ("data-slide"); var slideId = parseInt(currentSlideNumber, 10) + 1; self.slide(document.querySelector("")); ), limit czasu); )
Co się tu dzieje - myślę, że to jasne. Do tworzenia Ta metoda Skopiowałem kod ze zdarzenia click na przyciski ręcznego przełącznika suwakowego i umieściłem go w wywołaniu JavaScript funkcji setInterval(), która wykonuje określoną akcję po określonym czasie.
Skrypt akcji jest przekazywany jako pierwszy argument jako funkcja anonimowa, a interwał czasowy jako drugi, który postanowiłem zrobić jako zmienną, której wartość jest przekazywana przy wywołaniu slideShow().
Jedyną wymaganą modyfikacją kodu wewnątrz setInterval() było określenie liczby slajdów i porównanie z nim indeksu bieżącego slajdu, aby zapętlić automatyczne przełączanie.
Cóż, aby ten kod zadziałał, należy wywołać samą metodę. Postanowiłem zrobić to wszystko w tej samej nawigacji, która jest po prostu zbiorem różnego rodzaju scenariuszy. Wywołanie umieściłem na samym końcu, podając jako argument wartość przedziału czasu dla automatycznej zmiany slajdów w naszym pokazie JS (wybrałem 2000 milisekund lub 2 sekundy, w razie potrzeby możesz zmienić tę liczbę):
własny pokaz slajdów (2000);Następnie sprawdź działanie suwaka JavaScript, nie zapomnij również wyczyścić przeglądarki.
W teorii wszystko powinno działać. Jeśli nie, zapoznaj się z błędami w konsoli przeglądarki i udostępnij je w komentarzach.
W efekcie otrzymaliśmy pokaz slajdów JS, w którym slajdy przełączają się automatycznie i w kółko, czyli po osiągnięciu ostatniego slajdu przedstawienie przechodzi do nowego cyklu, a przedstawienie rozpoczyna się ponownie od pierwszego elementu.
Podczas pracy z różnymi bibliotekami JS do karuzeli i recenzji obrazów zauważyłem, że programiści aktywnie stosują tę praktykę, ale z pewnymi dodatkami. We wszystkich rozwiązaniach, które widziałem, automatyczny pokaz slajdów jest przerywany, jeśli użytkownik dokonał ręcznego przełączenia. Więc postanowiłem zrobić to samo w mojej bibliotece.
Aby przerwać automatyczny pokaz slajdów karuzeli JavaScript, zdecydowałem się na użycie standardowej funkcji JS clearInterval(), której jako argument przekazuję identyfikator przedziału czasu zwracanego przez funkcję setInterval(), gdy jest on ustawiony.
W rezultacie otrzymałem następujący kod, którego postanowiłem nie formatować jako osobnej metody:
ClearInterval(self.slideCycle);
I umieściłem go w miejscach opisu akcji po kliknięciu w różne elementy nawigacyjne, tj. w następującym:
Link.addEventListener("klik", funkcja (e) (...)); self.prevBtn.addEventListener("klik", funkcja (e) (...)); self.nextBtn.addEventListener("klik", funkcja (e) (...));
Wywołanie funkcji clearInterval() najlepiej wykonać bliżej samego zdarzenia kliknięcia, o ile jest ono przed nim, a nie po nim.
Integracja slidera JavaScript na stronie
Tak więc nasz czysty suwak JS jest gotowy. Teraz pozostało tylko dodać go do serwisu.
Aby to zrobić, musisz wykonać kolejno następujące kroki, które są standardowymi akcjami podczas integrowania jakichkolwiek bibliotek JavaScript innych firm.
Krok 1. Kopiujemy pliki biblioteki na naszą stronę w osobnym katalogu.
Krok 2. Dodaj następujący kod do kodu HTML stron, na których suwak będzie musiał być wyświetlany, umieszczając go przed zamykającym tagiem body:
Krok 3. Umieszczamy następujący kod do wywoływania karuzeli JS w jakimś istniejącym pliku JavaScript, który jest zawarty na stronie po dołączeniu samego suwaka:
Var aSlider = nowy suwak("#slider");
Jak widać, ten kod jest w rzeczywistości stworzeniem obiektu klasy Slider, który zawarty jest w popupSlider.js. Dlatego jego wywołanie powinno nastąpić dopiero po podłączeniu samego pliku klasy do strony.
Dodawanie nowych slajdów do karuzeli JavaScript
Tutaj wszystko jest bardzo proste. Ponieważ nasze slajdy są pobierane z osobnego katalogu biblioteki slajdy, to przy dodawaniu nowych zdjęć wystarczy je wrzucić niezbędne pliki, po wcześniejszym ustawieniu ich na ten sam rozmiar co inne.
A następnie w pliku asset/popupSlider.html dodaj kod nowy blok do kontenera z id suwak-opakowanie:
Zasadniczo możesz po prostu skopiować podobny istniejący i zmienić ścieżkę do pliku obrazu i zawarty w nim tekst podpisu (jeśli w ogóle jest potrzebny).
Będziesz także musiał dodać nowy element nawigacyjny w postaci koła, ponieważ. na ten moment jego automatyczne dodawanie nie zostało jeszcze wdrożone. Aby to zrobić, będziesz musiał dodać następujący kod do kontenera z id suwak-nav pisząc to na samym końcu:
Wartość atrybutu slajd z danymi musi być większy niż największy z pozostałych elementów. Wystarczy zwiększyć maksymalny prąd o jeden.
Pakowanie karuzeli JS w jeden skrypt
Wszystko, suwak JavaScript jest gotowy i podłączony. Osobiście polecam używanie ta opcja w praktyce, jeśli w ogóle tego potrzebujesz 🙂
Nawiasem mówiąc, aby przyspieszyć jego pracę, można dodatkowo skompresować komponenty statyczne: pliki CSS, HTML i JavaScript. Nie zrobiłem tego i zaoferowałem ci zminifikowany kod, ponieważ jest teraz wiele front-endowych systemów budowania: Gulp, Grunt, Webpack i inne. A każdy z nich ma swoje własne algorytmy do kompresji i łączenia plików.
Ponadto zminimalizowane wyniki mogą działać inaczej w różnych systemach operacyjnych. Generalnie powodów jest wiele.
Tak, a same kody źródłowe wyszły, myślę, że nie są tak ciężkie, że potrzebują tej procedury. Ale jeśli ich potrzebujesz, skonfiguruj minifikację samodzielnie, biorąc pod uwagę system operacyjny i kolektor.
Jak pisałem na samym początku, do rozwiązania zadania, które zostało mi pierwotnie postawione, konieczne było uzyskanie pojedynczego pliku JS do poprawnego korzystania z mojego slidera przez usługę innej firmy na stronie. Z tego powodu w rzeczywistości nie korzystałem z gotowych bibliotek firm trzecich.
Wtedy przyda się opcja pojedynczego skryptu karuzeli JavaScript, ponieważ. cała zawartość będzie w niej zawarta bezpośrednio, w tym kod HTML/CSS, który w przypadku biblioteki jest przechowywany w osobnych plikach.
Scenariusz w moim przypadku składa się z dwóch części. Pierwsza część zawierała zawartość pliku popupSlider.js, którego nie podam drugi raz. Wstaw go samodzielnie, usuwając opis metody loadStatic() i jej wywołanie z kodu klasy, ponieważ nie będziemy ich potrzebować.
Druga część pojedynczego suwaka skryptu JavaScript dla witryny to procedura obsługi zdarzenia DOMContentLoaded, które występuje podczas ładowania treści strony.
Tam dodamy kod JS karuzeli do strony HTML/CSS i stworzymy obiekt klasy Slider, co jest równoznaczne z aktywacją samego slidera.
Schematycznie kod wygląda tak:
/* zawartość popupSlider.js bez opisywania metody loadStatic() i jej wywoływania */ document.addEventListener("DOMContentLoaded", function()( var str = "\\ /* Kod HTML*/ "; var div = document.createElement("div"); div.innerHTML = str; document.body.appendChild(div); var aSlider = new Slider("#slider");
Ponieważ w moim przypadku opcja wgrywania plików na serwer była generalnie zamknięta, musiałem wgrać pliki graficzne kontrolek karuzeli JavaScript do chmury i zamiast ścieżek do nich w kodzie HTML i CSS, wpisać linki wygenerowane podczas zapisywania .
Jeśli nie masz takich trudności, nie możesz niczego zmienić, ale nie zapomnij skopiować katalogów slajdów i kontrolek biblioteki na serwer i określić do nich prawidłowe ścieżki.
Autorski slider JS - perspektywy rozwoju
Szczerze mówiąc nie planuję angażować się w ukierunkowane wsparcie i rozwój stworzonego przeze mnie rozwiązania 🙂 W tej chwili jest wagonik i mały wózek takich sliderów, które w przeciwieństwie do moich mają swoją historię, są dokładnie testowane i są wspierane przez rozległą społeczność użytkowników i programistów.
Dla mnie samo rozpoczęcie całej tej podróży od zera i stworzenie kolejnego roweru jest jakoś nieciekawe i naprawdę nie ma na to czasu. Ale z drugiej strony ten suwak JavaScript jest świetną okazją do przećwiczenia programowania poprzez refaktoryzację kodu i implementację nowych interesujących funkcji, które mogą jeszcze nie istnieć w tej chwili.
Jeśli więc tak jak ja potrzebujesz bazy kodu do eksperymentów i masz przynajmniej trochę wolnego czasu, skopiuj opisany przeze mnie kod JavaScript lub dołącz do współtwórców na GitHub. Repozytorium jest otwarte, a link do niego podałem na początku artykułu.
Jeśli chcesz poprawić swoje umiejętności front-endowe na moim tworzeniu, mogę nawet wrzucić Ci małą listę zmian i ulepszeń, których kod potrzebuje i które mogą Cię zainteresować pod kątem ich implementacji:
- utwórz zewnętrzną konfigurację, abyś mógł wygodnie skonfigurować suwak;
- umożliwić osadzenie suwaka wewnątrz strony (teraz jest zaprojektowany tylko jako pop-up);
- asynchroniczne ładowanie kodu HTML (teraz synchroniczne, które przez wiele przeglądarek jest oznaczane jako przestarzałe);
- spakuj bibliotekę jako pakiet, NPM, Bower lub inny pakiet, aby można było ją zainstalować i manipulować z zależnościami za pomocą menedżerów pakietów;
- dostosować układ do używania karuzeli JS na różnych urządzeniach;
- zrobić przełączanie slajdów w wydarzeniu Swipe dla użytkowników mobilnych.
Podana przeze mnie lista edycji nie jest oczywiście ostateczna i może być uzupełniona. Napisz o swoich sugestiach, przemyśleniach i życzeniach w komentarzach pod artykułem i podziel się ze znajomymi poprzez Media społecznościowe angażować ich również w rozwój.
Proszę nie oceniać ściśle mojego kodu, bo jak już powiedziałem, nie uważam się za specjalistę od frontendu i nie jestem. Jestem również otwarta na wszelkie uwagi dotyczące stylu kodowania i mam nadzieję, że mogę się czegoś od Ciebie nauczyć, a Ciebie ode mnie tj. spełniają główny cel rozwoju i wspierania produktów OpenSource.
Dołącz do społeczności projektu, subskrybuj aktualizacje, a nawet możesz mi pomóc finansowo, korzystając z formularza znajdującego się pod samym artykułem, jeśli mógłbym Ci w czymś pomóc lub po prostu podoba Ci się to, co robię 🙂
To wszystko! Wszystkiego najlepszego! 🙂.
PS: jeśli potrzebujesz strony internetowej lub chcesz dokonać zmian w już istniejącej, ale nie ma na to czasu i chęci, mogę zaoferować swoje usługi.
Ponad 5 lat doświadczenia rozwój zawodowy witryny. Pracuj z PHP, opencart, WordPress, Laravel, Yii, MySQL, PostgreSQL, JavaScript, Reagować, Kątowy i inne technologie tworzenia stron internetowych.
Doświadczenie w opracowywaniu projektów na różnych poziomach: strony docelowe, strony korporacyjne, Zakupy online, CRM, portale. W tym wsparcie i rozwój Projekty o dużym obciążeniu. Wyślij swoje aplikacje e-mailem [e-mail chroniony].
Witajcie drodzy czytelnicy bloga. Dziś przedstawiam Wam przydatne wybór darmowych sliderów jQuery z przykładami. Jeśli nadal zdecydujesz się umieścić suwak obrazu w swoim zasobie, ten wybór będzie dla Ciebie bardzo przydatny i uwierz mi, masz z czego wybierać. Ponadto wszystkie slidery z przykładami, a każdy z nich możesz wypróbować w akcji. Generalnie nie będę się rozpraszał, wybierz :-)
Prosty suwak obrazu jQuery
Najpopularniejszy i niezbyt duży suwak miniatur w Twojej witrynie.
Suwak miniatur jQuery
Bardzo prosty i ciekawy slider z miniaturkami, który nadaje się do prawie każdego projektu.
Piękny suwak strony internetowej
Duży i bardzo piękny suwak obrazu z ciekawym przewijaniem tekstu.
Podstawowy suwak jQuery
Najpopularniejszy i najprostszy suwak dla Twojego zasobu
Duży suwak z opisem
Spektakularny suwak, przez który przejście jest nierealne.
Suwak obrazu jQuery i opis
Wstań i stylowy suwak tekstu z obrazami i ładnym efektem przewijania.
Przewijanie obrazów z podpowiedziami
Interesujące przewijane obrazy, które przewijają się w sposób ciągły i płynny. Domyślnie istnieją obrazy różnych owoców, które możesz zmienić na własne.
jQuery suwak z dużą strzałką
Ciekawy suwak z dużymi różowymi strzałkami, które zmieniają rozmiar, powiększając obraz.
Adaptacyjne lub jak kto woli responsywne projektowanie stron internetowych to już nie kolejny trend projektowy, to już rodzaj standardu tworzenia stron internetowych, który zapewnia wszechstronność stron internetowych, harmonijną percepcję wizualną na ekranach różnych urządzeń użytkowników. Niedawno w rozwoju szablon adaptacyjny, musiałem zmierzyć się z różnymi trudnościami w integracji różnych suwaków i galerii obrazów bez naruszania ogólnego stylu projektowania. Teraz wszystko jest o wiele prostsze, w sieci jest ogromna ilość gotowych rozwiązań, a co szczególnie cieszy to, że większość z nich jest ogólnodostępna, open source.
Ze względu na różnorodność oferowanych narzędzi przygotowałem mały przegląd najważniejszych zmian responsywne jQuery slidery obrazu, które pojawiły się ostatnio i są dystrybuowane bez żadnych ograniczeń, tj. Absolutnie wolny.
Suwak WOW
Responsywny suwak obrazu jQuery ze świetnym zestawem efekty wizualne(zakręty, odjazdy, rozmycie, spirale, żaluzje itp.) i wiele gotowe szablony. Dzięki wbudowanemu kreatorowi osadzania strony WOW Slider możesz łatwo tworzyć wspaniałe pokazy slajdów w kilka minut. Strona dewelopera zawiera całą niezbędną dokumentację do konfiguracji i korzystania z wtyczki w języku rosyjskim, doskonałe przykłady wtyczki na żywo. Dostępne również do pobrania osobno Wtyczka Wordpress oraz moduł dla Joomla. Jestem pewien, że ten wspaniały slider spodoba się wielu osobom, zarówno początkującym, jak i doświadczonym webmasterom.
HiSlider
HiSlider - HTML5, suwak Jquery i galeria obrazów, całkowicie darmowa wtyczka do użytku osobistego w witrynach zarządzanych przez popularne systemy— WordPress, Joomla, Drupal. Za pomocą tego prostego, ale dość funkcjonalnego narzędzia, możesz z łatwością tworzyć niesamowite i żywe pokazy slajdów, efektowne prezentacje i ogłoszenia nowych wiadomości na stronach swoich witryn. Kilka gotowych szablonów i skórek dla slidera, niesamowite efekty przejścia (zmiany) treści, wyjście różnych treści multimedialnych: filmy z YouTube i Vimeo, elastyczne ustawienia użytkownika itp...
Suwak Nivo
Nivo Slider - stary dobry, dobrze znany wszystkim w temacie, jeden z najpiękniejszych i najłatwiejszych w obsłudze sliderów graficznych. Wtyczkę jQuery Nivo Slider można pobrać i używać bezpłatnie na licencji MIT. Jest też osobna wtyczka do WordPressa, ale niestety jest już opłacona i za jedną licencję trzeba będzie zapłacić 29 dolarów. Lepiej zrobić trochę magii z plikami motywu WP i dołączyć do swojego bloga darmową wersję wtyczki Nivo Slider jQuery, ponieważ w sieci jest wystarczająco dużo informacji, jak to zrobić.
Jeśli chodzi o funkcjonalność, wszystko jest z tym w porządku. Do pracy wykorzystywana jest biblioteka jQuery v1.7+, piękne efekty przejścia, proste i bardzo elastyczne ustawienia, responsywny układ, automatyczne przycinanie obrazów i nie tylko.
Pomysł na slider został zainspirowany przez twórców, doskonale znany wszystkim styl prezentacji produktów Apple, gdzie kilka drobnych elementów (obrazków) zmienia się po kliknięciu w wybraną kategorię z prostym efektem animacji. Codrops zapewnia szczegółowy samouczek dotyczący tworzenia tego suwaka, kompletny układ znaczników HTML, zestaw reguł CSS i wykonywalną wtyczkę jQuery, a także wspaniały przykład użycia suwaka na żywo.
Suwak Suwak
Pełnoekranowy suwak obrazu w jQuery i CSS3 + szczegółowy samouczek dotyczący integracji wtyczki ze stronami serwisu. Pomysł polega na tym, aby przy przechodzeniu do następnej lub poprzedniej zawartości wyciąć bieżący slajd z określoną zawartością. OD za pomocą jQuery i animacje CSS, możesz tworzyć unikalne przejścia między slajdami. Responsywny układ suwaka zapewnia, że wygląda równie dobrze na ekranach różne rodzaje urządzenia użytkownika.
Elastyczny suwak zawartości
Suwak zawartości, który automatycznie dostosowuje szerokość i wysokość w zależności od rozmiaru kontenera nadrzędnego, w którym się znajduje. Dość prosty w wykonaniu i elastyczny w ustawieniach slider działa na JQuery, z nawigacją na dole, przy zmianie rozmiaru ekranu w dół nawigacja wyświetlana jest w postaci ikon. Bardzo szczegółowa dokumentacja (samouczek tworzenia) i przykłady użycia na żywo.
Suwak stosu 3D
Eksperymentalna wersja suwaka, która pokazuje obrazy z przejściami z płaszczyzny 3D. Obrazy są podzielone na dwa poziome stosy, za pomocą strzałek nawigacyjnych następuje zmiana i przejście każdego kolejnego obrazu do stanu oglądania. Ogólnie nic specjalnego, ale sam pomysł i technika wykonania są dość interesujące.
Bardzo prosty, w 100% responsywny i pełnoekranowy suwak obrazu jQuery. Praca slidera opiera się na przejściach CSS (właściwość przejścia) w połączeniu z magią jQuery. Maksymalna szerokość jest domyślnie ustawiona na 100%, więc obrazy będą się zmieniać wraz ze zmianą rozmiaru ekranu. W projekcie nie ma specjalnych efektów animacji i ozdobników, wszystko jest proste i wyostrzone dla płynnej pracy.
Minimalne slajdy
Nazwa mówi sama za siebie, jest to prawdopodobnie jeden z najlżejszych i najbardziej minimalistycznych sliderów graficznych jQuery, z jakimi się zetknąłem (wtyczka 1kb). ResponsiveSlides.js- Mała wtyczka jQuery, która tworzy pokaz slajdów za pomocą elementów wewnątrz kontenera. Współpracuje z szeroką gamą przeglądarek, w tym wszystkimi wersjami IE, słynnego hamulca postępu, od IE6 w górę. W pracy wykorzystano przejścia CSS3 w połączeniu z javascript, aby zapewnić niezawodność. Proste znaczniki za pomocą nieuporządkowanej listy, ustawianie przejść i interwałów czasowych, automatyczne i ręczne sterowanie przełączaniem slajdów, a także obsługa wielu pokazów slajdów jednocześnie. Oto takie rozbrykane „dziecko”.
kamera
Camera to darmowa wtyczka jQuery do organizowania pokazów slajdów na stronach internetowych, lekki suwak z wieloma efektami przejścia, ze 100% responsywnym układem i bardzo proste ustawienia. Idealnie dopasuje się do ekranów wszelkich urządzeń użytkowników (monitory PC, tablety, smartfony i telefony komórkowe). Możliwość demonstracji wbudowanego wideo. Automatyczna zmiana slajdów i ręczne sterowanie za pomocą przycisków i bloku miniatur obrazów. Prawie kompletna galeria zdjęć w kompaktowej obudowie.
bxSlider jQuery
Kolejny całkiem prosty suwak responsywny jQuery. Slajdy mogą zawierać dowolną treść, filmy, obrazy, tekst i inne elementy. Rozszerzone wsparcie ekrany dotykowe. Korzystanie z przejść animacji CSS. Duża liczba różnych odmian prezentacji pokazu slajdów i kompaktowych galerii obrazów. Sterowanie automatyczne i ręczne. Przełączaj slajdy za pomocą przycisków i wybierając miniatury. Mały rozmiar pliku źródłowego, bardzo łatwy w konfiguracji i implementacji.
Suwak elastyczny 2
FlexSlider 2 — zaktualizowana wersja suwaka o tej samej nazwie, z poprawioną responsywnością, minimalizacją skryptów i minimalizacją ponownego wlewania/przerysowywania. Wtyczka zawiera podstawowy suwak, kontrolki zarządzania slajdami z miniaturami, wbudowane strzałki od lewej do prawej oraz dolny pasek nawigacyjny przypominający przycisk. Możliwość wyświetlania wideo w slajdach (vimeo), elastyczne ustawienia parametrów (przejścia, projekt, interwał czasowy), w pełni adaptacyjny układ.
Galeria
Dobrze znana i dość popularna responsywna wtyczka jQuery do tworzenia wysokiej jakości galerii zdjęć i sliderów. Interfejs suwaka, dzięki panelowi sterowania, wizualnie przypomina znajomy odtwarzacz wideo, wtyczka zawiera kilka różnych motywów. Obsługa osadzonych filmów i obrazów z popularnych serwisów: Flickr, Vimeo, YouTube i innych. Szczegółowa dokumentacja dotycząca instalacji i użytkowania.
Borówka amerykańska
Prosty, nieskomplikowany darmowy suwak obrazu jQuery napisany specjalnie do responsywnego projektowania stron internetowych. Blueberry to eksperymentalna wtyczka jQuery o otwartym kodzie źródłowym. Minimalistyczny design, brak efektów, tylko płynnie wyskakujące obrazy zastępujące się po pewnym czasie. To bardzo proste, zainstaluj, podłącz i idź ...
jQuery Popeye 2.1
Bardzo kompaktowy suwak obrazu jQuery z elementami Lightbox. Dzięki swoim elastycznym wymiarom bardzo łatwo zmieści się w dowolnym pojemniku, w jednym poście w postaci miniatur, po najechaniu na nie lub kliknięciu aktywuje się lightbox z większym obrazem i kontrolkami. Wygodnie jest umieścić taki suwak na paskach bocznych, aby zaprezentować produkty lub zapowiedzi nowości. Doskonałe rozwiązanie dla witryn z dużą ilością informacji.
Sekwencja
Darmowy, responsywny suwak z zaawansowanymi przejściami CSS3. Styl minimalistyczny, 3 motywy, Każda klatka przesuwa się w kierunku poziomym, pojawia się na środku, obraz przesuwa się po lewej, podpis po prawej, miniatury są powielane w prawym dolnym rogu. Podział widoków produktów do wyświetlenia w każdej klatce. Elementy sterujące obejmują również przyciski wstecz i do przodu. Wsparcie dla wszystkich nowoczesnych przeglądarek.
Trzepnąć
Bardzo prosty suwak obrazu zarówno pod względem funkcjonalności, jak i ustawień, z ustawień jest zmiana prędkości slajdów, podłączenie trybu ręcznego (aktywują się przyciski sterujące), ciągły pokaz slajdów. Ten suwak ma prawo być i przyciągnął mnie tylko tym, że istnieje, nie znalazłem dla siebie nic szczególnie interesującego w tym rozwoju, może źle wyglądałem)))
Responsywny suwak obrazu
Taki piękny, adaptacyjny suwak obrazu od towarzyszy Władimira Kudinowa. Solidne, dobrze zaprojektowane narzędzie, zaopatrzone w ilustracyjne przykłady i szczegółowe instrukcje tworzyć, instalować i używać. Adaptacyjny projekt, ładne guziki i zielone strzałki, wszystko całkiem ładnie i spokojnie, bez nacisku.
Suwak ułamków
Darmowa wtyczka jQuery slider z efektem paralaksy dla obrazów i slajdów tekstowych. Animacje slajdów mają wiele wartości pokazu z pełną kontrolą nad każdym ustawieniem czasu i animacji. Możliwość animowania kilku elementów na slajdzie jednocześnie. Możesz ustawić różne metody animacji, slajdy zanikania lub przejścia z określonego kierunku. Automatyczne wyświetlanie i ręczne sterowanie za pomocą strzałek nawigacyjnych, które pojawiają się po najechaniu kursorem na obraz. 10 rodzajów efektów animacji pokazu slajdów i nie tylko...
Recenzja okazała się dość obszerna, ale niewystarczająco pouczająca ze względu na dużą liczbę rozważanych produktów. Wszystkie szczegóły i szczegółowe opisy funkcjonalność o tej lub innej wtyczce możesz dowiedzieć się bezpośrednio na stronach programistów. Mogę tylko mieć nadzieję, że ktoś i nawet ułatwił poszukiwania tego bardzo właściwe narzędzie, aby tworzyć kolorowe suwaki obrazów na stronach swoich witryn.
Czy myślałeś kiedyś o tym, że fajnie byłoby móc pracować ze zrusyfikowanymi szablonami? Pomyśl przez chwilę. Nie marnuj czasu na pracę z szablonami w języku angielskim. Spieszymy, aby cię zadowolić faktem, że możesz teraz znaleźć. Tekst do każdego z nich został napisany ręcznie. I oczywiście wszystkie gotowe rozwiązania są niezwykle łatwe w użyciu.
Z całym szacunkiem, Andrzeju