Jquery pildiliuguri pistikprogramm. Näited tasuta jQuery pildiliuguritest. RoyalSlider – puuteekraaniga pildigalerii jQuery abil

Aeg ei seisa paigal ja koos sellega edeneb. See mõjutas ka Interneti avarust. Juba praegu on näha, kuidas saitide välimus muutub ja eriti populaarne on responsive disain. Sellega seoses adaptiivne saidi liugurid on muutunud väga populaarseks ja asjakohaseks. Uusi on palju reageerivad jquery liugurid, galeriid ja karussellid.

Kui soovite installida universaalset liugur või karussell oma veebisaidile, kuhu saate minna

Liugurid saidi jaoks

1. Reageerivate horisontaalsete postituste liugur

Kohanduv horisontaalne karussell koos üksikasjalike paigaldusjuhistega. See on valmistatud lihtsas stiilis, kuid saate seda kujundada nii, nagu soovite.

2. Glide.js-i liugur

See liugur sobib igale saidile. See kasutab avatud lähtekoodiga Glide.js-i. Liugurite värve saab hõlpsasti muuta.

Reageerivad liugurid sisuga veebisaidi jaoks. Selle liuguri esiletõst on piltide 3D-efekt, aga ka erinevad välimuse animatsioonid juhuslikus järjekorras.

4. HTML5 lõuendit kasutav liugur

Väga kena ja muljetavaldav interaktiivsete osakestega liugur. Seda tehakse HTML5 lõuendi abil,

5. Liugur "Kujutiste muutmine"

Morph-efektiga liugur. Selles näites töötab liugur hästi veebiarendaja portfelli või veebistuudio portfooliona jaoks.

6. Ringikujuline liugur

Pildi ümberpööramise efektiga ringikujuline liugur.

7. Hägune taust

Adaptiivne liugur koos lülitiga ja hägustab tausta.

8. Adaptiivne moe liugur

Lihtne, kerge ja tundlik veebisaidi liugur.

9. Slicebox – jQuery 3D-pildi liugur(VÄRSKENDATUD)

Sliceboxi värskendatud versioon paranduste ja uute funktsioonidega liugur.

jQuery pistikprogramm paindliku pildiruudustiku loomiseks, mis vahetab võtteid erinevate animatsioonide ja ajastuste abil.

Teise osa saidi liugurid.

11. Flexslider

Universaalne tasuta pistikprogramm teie veebisaidi jaoks. Sellel pistikprogrammil on mitu liuguri ja karusselli valikut.

12. Fotoraam

FotoraamaOn mitmekülgne pistikprogramm. Sellel on palju seadeid. Kõik toimib kiiresti ja lihtsalt, lisaks on võimalus slaide täisekraanil vaadata. Liugurit saab kasutada nii fikseeritud suurusega kui ka reageerivalt, pisipiltidega või ilma, ringikujulise kerimisega või ilma ja palju muud. Pildiraami põhjal saate saidi jaoks luua huvitavaid adaptiivseid liugureid.

P.S.Panen liugurit mitu korda ja arvan, et see on üks parimaid

13. Tasuta ja tundlik pisipiltidega 3D-galerii liugur.

Eksperimentaalne galerii liugur 3DPanelLayout võrgusilma ja huvitavate animatsiooniefektidega.

14. Css3 liugur

Tundlik liugur on tehtud sujuva sisuvoo ja kerge animatsiooniga css3 abil.

See on hämmastavate visuaalide ja animatsioonidega pildiliugur.

17. Elastne

Täielikult reageeriv elastne liugur koos slaidi pisipiltidega.

18. Pilu

See on täisekraanil reageeriv liugur, mis kasutab css3 animatsiooni. Liugur on tehtud kahes versioonis ja animatsioon on tehtud üsna ebatavaliseks.

19.Adaptive fotogalerii pluss

Lihtne tasuta liuguri galerii üleslaaditud piltidega.

20. Reageeriv liugur WordPressi jaoks

Tundlik ja tasuta liugur WP jaoks.

21. Parallaksi sisu liugur

Parallaksiefektiga liugur ja iga elemendi juhtimine CSS3-ga.

22. Linkimismuusikaga liugur

Liugur koos kasutades avatud lähtekoodiga JPlayerit. See liugur meenutab muusikaga esitlust.

Liugurid saidi kolmas osa.

23. Liugur koos failiga jmpress.js

Reageeriv liugur põhineb jmpress.js ja võimaldab seetõttu slaididel lahedaid 3D-efekte.

24. Kiire hõljumise slaidiseanss

Slaidiseanss kiire slaidivahetusega. Liuglüliti hõljutab.

Piltide akordion css3 abil.

See on tundlik galerii, mis on optimeeritud puutetundlike seadmete jaoks.

29. Pildimontaaž jQueryga

Piltide automaatne positsioneerimine sõltuvalt ekraani laiusest. Väga kasulik ja huvitav asi portfellisaidi arendamisel.

33. Mitmetasandiline fotokaart.

Tegemist on kihilise kaardiga – pildigalerii võimaldab kuvada nende asukohaga seotud pilte. See põhineb google mapsil. Paremal pool on pisipilt, mida saab vaadata valguskastis, klõpsates sellel.

34. Täisekraaniga galerii pisipiltidega

Tundlik galerii liugur koos pisipildi ja slaidi kirjeldusega.

Saidi liugureid uuendatakse pidevalt ja nende arv kasvab iga päevaga. Kui teil on oma lemmikliugurid või võib-olla te ei leidnud seda, mida otsisite, siis kirjutage kommentaaridesse ja ma proovin teid aidata.

Aeg ei seisa paigal ja koos sellega edeneb. See mõjutas ka Interneti avarust. Juba praegu on näha, kuidas saitide välimus muutub, eriti populaarne on responsive disain. Ja sellega seoses on tekkinud päris mitu uut. reageerivad jquery liugurid, galeriid, karussellid või sarnased pistikprogrammid.
1. Reageerivate horisontaalsete postituste liugur

Kohanduv horisontaalne karussell koos üksikasjalike paigaldusjuhistega. See on valmistatud lihtsas stiilis, kuid saate seda kujundada nii, nagu soovite.

2. Glide.js-i liugur

See liugur sobib igale saidile. See kasutab avatud lähtekoodiga Glide.js-i. Liugurite värve saab hõlpsasti muuta.

3. Kallutatud sisu slaidiseanss

Tundliku sisu liugur. Selle liuguri esiletõst on piltide 3D-efekt, aga ka erinevad välimuse animatsioonid juhuslikus järjekorras.

4. HTML5 lõuendit kasutav liugur

Väga kena ja muljetavaldav interaktiivsete osakestega liugur. Seda tehakse HTML5 lõuendi abil,

5. Liugur "Kujutiste muutmine"

Morfiefektiga liugur (Sujuv teisendus ühelt objektilt teisele). Selles näites töötab liugur hästi veebiarendaja portfelli või veebistuudio portfooliona jaoks.

6. Ringikujuline liugur

Pildi ümberpööramise efektiga ringikujuline liugur.

7. Hägune taust

Adaptiivne liugur koos lülitiga ja hägustab tausta.

8. Adaptiivne moe liugur

Lihtne, kerge ja tundlik veebisaidi liugur.

9. Slicebox – jQuery 3D-pildi liugur(VÄRSKENDATUD)

Sliceboxi liuguri värskendatud versioon koos paranduste ja uute funktsioonidega.

10. Tasuta animeeritud tundlik pildiruudustik

jQuery pistikprogramm paindliku pildiruudustiku loomiseks, mis vahetab võtteid erinevate animatsioonide ja ajastuste abil. See võib saidil hästi töötada tausta või dekoratiivse elemendina, kuna saame kohandada uute piltide välimust ja nende üleminekuid. Pluginat tehakse mitmes versioonis.

11. Flexslider

Universaalne tasuta pistikprogramm teie veebisaidi jaoks. Sellel pistikprogrammil on mitu liuguri ja karusselli valikut.

12. Fotoraam

Fotoraama on mitmekülgne pistikprogramm. Sellel on palju seadeid, kõik töötab kiiresti ja lihtsalt, on võimalus vaadata slaide täisekraanil. Liugurit saab kasutada nii fikseeritud suurusega kui ka reageerivalt, pisipiltidega või ilma, ringikujulise kerimisega või ilma ja palju muud.

P.S.Panen liugurit mitu korda ja arvan, et see on üks parimaid

13. Tasuta ja tundlik pisipiltidega 3D-galerii liugur.

Eksperimentaalne galerii liugur 3DPanelLayout võrgusilma ja huvitavate animatsiooniefektidega.

14. Css3 liugur

Tundlik liugur on tehtud sujuva sisuvoo ja kerge animatsiooniga css3 abil.

15. WOW liugur

Vau liugur on hämmastava visuaaliga pildiliugur.

17. Elastne

Täielikult reageeriv elastne liugur koos slaidi pisipiltidega.

18. Lõhik

See on täisekraanil reageeriv liugur, mis kasutab css3 animatsiooni. Liugur on valmistatud kahes versioonis. animatsioon on üsna ebatavaline ja ilus.

19.Adaptive fotogalerii pluss

Lihtne tasuta liuguri galerii üleslaaditud piltidega.

20. Reageeriv liugur WordPressi jaoks

Vastupidav tasuta liugur WP jaoks.

21. Parallaksi sisu liugur

Parallaksiefektiga liugur ja iga elemendi juhtimine CSS3-ga.

22. Linkimismuusikaga liugur

Liugur avatud lähtekoodiga JPlayeri abil. See liugur meenutab muusikaga esitlust.

23. Liugur koos failiga jmpress.js

Reageeriv liugur põhineb failil jmpress.js ja võimaldab seetõttu kasutada slaididel lahedaid 3D-efekte.

24. Kiire hõljumise slaidiseanss

Slaidiseanss kiire slaidivahetusega. Liuglüliti hõljutab.

25. Pildi akordion koos CSS3-ga

Piltide akordion css3 abil.

26. Puutetundlikult optimeeritud galerii pistikprogramm

See on tundlik galerii, mis on optimeeritud puutetundlike seadmete jaoks.

27.3D galerii

3D seinagalerii- loodud Safari brauseri jaoks, kus 3D-efekt on nähtav. Kui vaadata teises brauseris, on funktsionaalsus korras, kuid 3D-efekti pole näha.

28. Lehekülje liugur

Tundlik lehekülgede muutmise liugur koos jQuery kasutajaliidese liuguriga. idee on kasutada lihtsat navigeerimiskontseptsiooni. Kõiki pilte on võimalik tagasi kerida või slaidi haaval libistada.

29. Pildimontaaž jQueryga

Piltide automaatne positsioneerimine sõltuvalt ekraani laiusest. Väga kasulik asi portfellisaidi arendamisel.

30.3D galerii

Lihtne 3D ringikujuline liugur css3-s ja jQuerys.

31. 3D-efektiga täisekraanrežiim css3 ja jQuery puhul

Kauni üleminekuga täisekraani liugur.

Tere kallid ajaveebi lugejad. Täna tutvustan teile kasulikku valik tasuta jQuery liugureid koos näidetega... Kui otsustate ikkagi oma ressursile pildiliuguri lisada, on see valik teile väga kasulik ja uskuge mind, teil on palju valida. Lisaks on kõik liugurid koos näidetega ja saate neid kõiki tegevuses proovida. Üldiselt ma ei sega, vali :-)

Lihtne jQuery pildiliugur

Teie saidi kõige levinum ja väikseim pisipiltide liugur.

JQuery pisipiltide liugur

Väga lihtne ja huvitav pisipiltide liugur, mis sobib peaaegu iga kujundusega.

Ilus liugur saidi jaoks

Suur ja väga ilus pildiliugur koos huvitava teksti ümberpööramisega.

Lihtne jQuery liugur

Teie ressursi kõige tavalisem ja lihtsam liugur

Suur liugur koos kirjeldusega

Suurepärane liugur, millest on ebareaalne mööda minna.

JQuery liugur piltide ja kirjelduse jaoks

Olge stiilne ja stiilne tekstiliugur piltide ja kauni pööramisefektiga.

Piltide kerimine koos vihjetega

Huvitav piltide kerimine, mis kerib pidevalt ja sujuvalt. Vaikimisi on pildid erinevatest puuviljadest, mida saate muuta enda omaks.

JQuery suurte nooltega liugur

Huvitav suurte roosade nooltega liugur, mis muudavad pilti suurendades suurust.

SliderPro- adaptiivne jQuery liugur, mis toetab pisipilte ja muid sätteid, sealhulgas oma API-t.

  • Vaikimisi liugur kohandub ekraaniga sobivaks. Skaalatakse mitte ainult pilte, vaid ka teie täiendava sisuga kihte.
  • Puutetundlike ekraanide puutepühkimise sündmuste tugi. Katkestuspunktide kasutamine on analoogne CSS-i meediumipäringutega, et muuta liuguri sätteid erinevatel ekraanisuurustel.
  • Sujuv animatsioon css3 üleminekutega, kihianimatsioon, tuhmumisefekt slaidide vahetamiseks.
  • Liugur võib olla täislaiuses, täisekraanil või konteinerisse paigutatud.
  • Slaidi suuruse automaatne muutmine. Eelvaadete suund võib olla kas vertikaalne või horisontaalne.
  • Piltide puhul toetatakse laiska laadimist, võrkkesta, võimalust laadida erinevaid pilte teatud ekraanisuuruste jaoks.
  • Video tugi, valguskasti integreerimine, noolte, punktide, klaviatuuri, pisipiltide ja palju-palju muuga navigeerimine.

CSS

Lisame stiilifaili:

HTML

Liuguri sisestamise märgistuse näide:

Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet

consectetur adipisicing elit

Js

Ühendame vajalikud skriptid:

Initsialiseerime pistikprogrammi:

Lisateavet liuguri ja selle kasutamise kohta leiate githubist. Link allpool.

Selles artiklis analüüsime, kuidas on väga lihtne luua CSS Flexboxi ja CSS-i teisendusi kasutades veebisaidi jaoks reageerivat liugurit.

Liugur lähtekoodid ja demo

GitHubis hostitakse liugurprojekti nimega chiefSlider. Selle juurde pääsete sellelt lingilt.

Ühe aktiivse slaidiga liugur (ilma silmuseta):

Kolme aktiivse slaidiga liugur (ilma silmuseta):





Näide, mis näitab, kuidas saate liugurit artiklite pööramiseks kasutada:



ChiefSlideri eelised

Loetleme selle liuguri peamised eelised:

  • esiteks tema ei loo elementide kloone (üksus) silmuse korraldamiseks, nagu seda näiteks pistikprogrammides rakendatakse Öökulli karussell ja libe;
  • teiseks ei sõltu see raamatukogust jQuery; see mitte ainult ei eemalda lisanõudeid, vaid muudab selle ka lihtsamaks;
  • kolmandaks ta praktiliselt ei tee dokumendi DOM-is muudatusi; ainus asi, mida see teeb, on liugurielementide CSS-i teisenduste väärtuste lisamine või muutmine;
  • neljandaks sisaldab see ainult minimaalne funktsioonide komplekt; olenevalt ülesandest saab lisada täiendavaid funktsioone;
  • viiendaks on see adaptiivne, s.t. seda saab kasutada igal veebisaidil; liuguri reageerimisvõime on konfigureeritud CSS-i abil;
  • kuuendaks on aktiivsete elementide arv CSS-i abil konfigureeritav; see tähendab, et selle abil saab luua karusselli ühe aktiivse slaidiga või mis tahes muu arvuga neid.

ChiefSlider liuguri paigaldamine

Liuguri paigaldamine toimub kolmes etapis:

  • lisa lehele või lehega ühendatud CSS-failile chiefSlider CSS-liugur;
  • aseta liugur HTML-kood lehel vajalikku kohta;
  • sisestage lehele või lehega ühendatud js-faili JavaScripti kood.

Soovitav on minimeerida CSS-i ja JavaScripti koodi, see toiming tagab lehe kiirema laadimise.

Kuidas luua lihtsat veebisaidi liugurit (ilma silmuseta)

Liuguri loomine juhtSlider koosneb HTML-koodi, CSS-i ja JavaScripti genereerimisest (ei jQuery).

Liugur HTML-kood juhtSlider:

Nagu näete, on liuguril väga lihtne HTML-arhitektuur. See algab põhiplokist, millel on liuguri klass. See plokk koosneb 3 elemendist.

Esimene element on.slider__wrapper. See toimib slider__item elementide (slaidide) ümbrisena.

Ülejäänud kaks elementi (.slider__control) kujutavad visuaalselt nuppe. Neid hakatakse kasutama slaidil navigeerimiseks, st. hüpata eelmiste ja järgmiste üksuste juurde.

ChiefSlideri liuguri CSS-kood:

/ * PÕHISTIILID * / .slider (asend: suhteline; ülevool: peidetud;) .slider__wrapper (kuva: painduv; üleminek: teisendus 0,6 s lihtsus; / * 0,6 slaidi muutmise kestus sekundites * /) .slider__item (flex: 0 0 50%; / * määrab aktiivsete slaidide arvu (antud juhul 2 * / max-width: 50%; / * määrab aktiivsete slaidide arvu (antud juhul 2 * /) / * TAGASI JA EDASI TAGASI TAGASI STIILID NUPPID * / .slider__control (positsioon: absoluutne; ekraan: puudub; ülemine: 50%; teisendus: translateY (-50%); joondus-üksused: keskel; joondus-sisu: keskel; teksti joondus: keskel; laius: 40 pikslit; / * nupu laius * / kõrgus: 50 pikslit; / * nupu kõrgus * / läbipaistmatus: 0,5; / * läbipaistvus * / taust: # 000; / * taustavärv * /) .slider__control_show (kuva: flex;) .slider__control: hõljutamine ,. slider__control: fookus (teksti kaunistus: puudub; kontuur: 0; läbipaistmatus: .9; / * läbipaistvus * /) .slider__control_left (vasakul: 0;) .slider__control_right (paremal: 0;) .slider__control :: enne (sisu : " "; disp lay: inline-block; laius: 20 pikslit; / * ikooni laius (nooled) * / kõrgus: 20 pikslit; / * ikooni kõrgus (nooled) * / taust: läbipaistev no-repeat center center; tausta suurus: 100% 100%; ) .slider__control_left :: before (background-image: url ("andmed: pilt / svg + xml; charset = utf8,% 3Csvg xmlns =" ​​​​http://www.w3.org/2000/svg "fill =" % 23fff "viewBox =" 0 0 8 8 "% 3E% 3Cpath d = M5,25 0l-4 4 4 4 1,5-1,5-2,5-2,5 2,5-2,5-1,5-1,5z "/% 3E% 3C / svg % 3E ");) .slider__control_right :: before (taustapilt: url (" andmed: pilt / svg + xml; märgistik = utf8,% 3Csvg xmlns = "http://www.w3.org/2000/svg") täitmine = "% 23fff" viewBox = "0 0 8 8"% 3E% 3Cpath d = "M2,75 0l-1,5 1,5 2,5 2,5-2,5 2,5 1,5 1,5 4-4-4-4z" /% 3E% 3C /svg % 3E";)

Nagu näete, on ka liuguri CSS-kood mitte väga raske... Peamised määratlused, mille abil saate liuguri välimust kohandada, on varustatud kommentaaridega.

CSS-kood, mis määrab aktiivsete elementide arv:

/ * määrab aktiivsete slaidide arvu (antud juhul 2) * / flex: 0 0 50%; maksimaalne laius: 50%;

See kood seab aktiivsete elementide arvu liuguriks 2.

Selleks, et näiteks liuguril oleks üks aktiivne element, tuleb need määratlused muuta järgmisteks:

/ * määrab aktiivsete slaidide arvu (antud juhul 1) * / flex: 0 0 100%; maksimaalne laius: 100%;

Loomine reageeriv liugur läbi meediapäringute kaudu.

Näiteks liugur, millel peaks väikese ekraaniga seadmetes olema üks aktiivne slaid ja suurtes seadmetes neli:

Slider__item (flex: 0 0 100%; max-width: 100%;) @media (min-width: 980px) (.slider__item (flex: 0 0 25%; max-width: 25%;))

ChiefSlideri JavaScripti kood:

"kasutage ranget"; var multiItemSlider = (funktsioon () (tagastamise funktsioon (valija) (var _mainElement = document.querySelector (selektor), // põhiploki element _sliderWrapper = _mainElement.querySelector (". slider__wrapper"), // ümbris for.slider-item _sliderItems = _mainElement.querySelectorAll (". slider__item"), // elemendid (.slider-item) _sliderControls = _mainElement.querySelectorAll (". slider__control"), // juhtelemendid _sliderControlLeft = _mainElement (". "LEFT" =nupp (. slider__control_right"), // nupp "PAREM" _wrapperWidth = parseFloat (getComputedStyle (_sliderWrapper) .width), // ümbrise laius _itemWidth = parseFloutedSelector (getFloatedSelector) // ühe elemendi laius _positionLeftItem = 0 asukoht vasakpoolne aktiivne element _transform = 0, // teisenduse väärtus slider_wrapper _step = _itemWidth / _wrapperWidth * 100, // sammu suurus (teisenduseks) _items =; // üksuste massiiv // massiivi täitmine _items _sliderItems.forEach (funktsioon (üksus, indeks) (_items.push ((üksus: üksus, asukoht: indeks, teisendus: 0)); )); var position = (getMin: 0, getMax: _items.length - 1,) var _transformItem = funktsioon (suund) (if (suund === "paremale") (if ((_positionLeftItem + _wrapperWidth / _itemWidth - 1)> = asukoht .getMax) (tagasi;) if (! _sliderControlLeft.classList.contains ("slider__control_show")) (_sliderControlLeft.classList.add ("slider__control_show");) if (_slider__ControlRight_wrap_wrapxi)Wtemidsth_wrap_wrapxi ) (_sliderControlRight.classList.remove ("slider__control_show");) _positionLeftItem ++; _transform - = _step;) if (direction === "left") (if (_positionLeftItem)<= position.getMin) { return; } if (!_sliderControlRight.classList.contains("slider__control_show")) { _sliderControlRight.classList.add("slider__control_show"); } if (_sliderControlLeft.classList.contains("slider__control_show") && _positionLeftItem - 1 <= position.getMin) { _sliderControlLeft.classList.remove("slider__control_show"); } _positionLeftItem--; _transform += _step; } _sliderWrapper.style.transform = "translateX(" + _transform + "%)"; } // обработчик события click для кнопок "назад" и "вперед" var _controlClick = function (e) { if (e.target.classList.contains("slider__control")) { e.preventDefault(); var direction = e.target.classList.contains("slider__control_right") ? "right" : "left"; _transformItem(direction); } }; var _setUpListeners = function () { // добавление к кнопкам "назад" и "вперед" обработчика _controlClick для события click _sliderControls.forEach(function (item) { item.addEventListener("click", _controlClick); }); } // инициализация _setUpListeners(); return { right: function () { // метод right _transformItem("right"); }, left: function () { // метод left _transformItem("left"); } } } }());

JavaScripti koodi põhitoimingu teostab funktsioon _transformItem. See funktsioon teisendab olenevalt sellele edastatud suunast elemendi.slider__wrapper.

Liuguri lähtestamine viiakse läbi järgmiselt:

Var liugur = multiItemSlider (". Liugur") Liuguri demo

Kuidas luua silmusliugurit?

Slaidide loopimist saab teha elemente.slider__item teisendades.

Selleks peate siduma selle praeguse asukoha ja teisenduse väärtused iga elemendiga.slider__item.

Kõige optimaalsem viis nende toimingute tegemiseks on kasutada massiivi _items:

Var _items =; // massiivi täitmine elementidega slider__item _sliderItems.forEach (funktsioon (üksus, indeks) (_items.push ((üksus: üksus, asukoht: indeks, teisendus: 0));));

Kuid saate andmeid elementidega seostada mitte ainult massiivi kaudu, vaid näiteks andmeatribuutide abil. Kuid DOM-i toimingud on kõige aeglasemad ja ressursimahukamad ning neid ei soovitata kasutada, kui seda saab teha muul viisil.

Järgmise sammuna tuleb luua funktsioonid minimaalse ja maksimaalse positsiooniga slider__item elementide arvutamiseks.

Var position = (getItemMin: funktsioon () (var indexItem = 0; _items.forEach (funktsioon (üksus, indeks) (if (item.position)< _items.position) { indexItem = index;` } }); return indexItem; }, getItemMax: function () { var indexItem = 0; _items.forEach(function (item, index) { if (item.position >_esemed.positsioon) (indexItem = indeks;))); tagasta indeksItem; ), getMin: funktsioon () (return _items.position;), getMax: funktsioon () (tagasta _items.position;))

Viimane suurem samm teostatav on funktsiooni muutmine _transformItem... Nimelt lisage sellele kood, mis muudab elemendi asukohta .slider__item ja teostada selle ümberkujundamine.

Var _transformItem = funktsioon (suund) (var nextItem; if (direction === "paremale") (_positionLeftItem ++; if ((_positionLeftItem + _wrapperWidth / _itemWidth - 1)> position.getMax ()) (nextItem = position.getItemMin () ; _items.position = position.getMax () + 1; _items.transform + = _items.length * 100; _items.item.style.transform = "translateX (" + _items.transform + "%)";) _transform - = _step;) if (suund === "vasakule") (_positionLeftItem--; if (_positionLeftItem< position.getMin()) {
 nextItem = position.getItemMax();
 _items.position = position.getMin() - 1;
 _items.transform -= _items.length * 100;
 _items.item.style.transform = "translateX(" + _items.transform + "%)";
 }
 _transform += _step;
 }
 _sliderWrapper.style.transform = "translateX(" + _transform + "%)";
}

Tegelikult on siin kõik lihtne.

Näiteks järgmisele slaidile liikumiseks otsitakse esmalt üksuste massiivist elementi, mille positsioon on suurem kui praegune parempoolseim slider__item element.

Kui massiivis on selline element olemas, siis tehakse slider__wrapper elemendi teisendus (st toimingud, nagu algoritmis ilma silmuseta).

Aga kui sellist elementi pole, siis peale transforming.slider__wrapper tehakse mitmeid muid toiminguid. Esiteks otsitakse üksust üksuste massiivist. minimaalse positsiooniga... Pärast selle kauba kättesaamist, see seatakse positsioon, mille väärtus võrdub praeguse parempoolse elemendi väärtusega + 1... Ja loomulikult viiakse see läbi tema transformatsioon, sellise protsendi võrra, et see lõpuks, s.o. pärast viimast elementi.


Eelmisele slaidile liikumiseks järgige samu samme, kuid vastupidi.


Lisaks ei pea te silmustega liuguri puhul nuppude "Vasak" ja "Parem" nähtavust vahetama. Neid nuppe kuvatakse alati selles liuguri versioonis.

Selleks peate:

  • eemaldage juhtelemendist "Parem" klass slider__control_show;
  • muutke CSS-is valiku selector.slider__control jaoks kuva atribuudi väärtuseks flex.
Liuguri demo

Kuidas luua automaatse slaidivahetusega silmusliugurit?

Funktsiooni setInterval abil saate programmeerida slaidide automaatse vahetamise teatud ajavahemike järel.

Var _cycle = funktsioon (suund) (if (! _Config.isCycling) (tagasi;) _interval = setInterval (funktsioon () (_transformItem (direction);), _config.interval);)

Selle näite funktsioon setInterval käivitab funktsiooni _transformItem määratud intervallidega, mis on võrdsed muutuja _config.interval väärtusega.

Lisaks on soovitatav lisada slaidi automaatse vahetamise peatus, kui liigutate kursori liugurile.

Seda funktsiooni saab rakendada järgmiselt:

If (_config.pause && _config.isCycling) (_mainElement.addEventListener ("mouseenter", funktsioon () (clearInterval (_interval);)); _mainElement.addEventListener ("mouseleave", funktsioon () (clearIntervalcycle (_config.); _configinterval). suund ;)))

Kuidas peatada automaatne libisemine, kui element pole kasutajale nähtav?

Slaidi automaatse vahetamise keelamine on soovitatav kahel juhul.

  • kui leht (millel see liugur asub) on passiivne;
  • kui liugur on lehe ulatusest väljas.

Esimest juhtumit saab käsitleda nähtavusemuutuse sündmuse abil.

Document.addEventListener ("visibilitychange", _handleVisibilityChange, false);

Nähtavuse muutuse sündmuste töötleja funktsioon:

// käsitleb sündmust "Dokumendi nähtavuse muutus" var _handleVisibilityChange = function () (if (document.visibilityState === "peidetud") (clearInterval (_interval);) else (clearInterval (_interval); _cycle (_config.direction); ) )

Elemendi nähtavuse arvutamist saab korraldada funktsiooni _isElementVisible abil:

Funktsioon _isElementVisible (element) (var rect = element.getBoundingClientRect (), vWidth = window.innerWidth || doc.documentElement.clientWidth, vHeight = window.innerHeight || doc.documentElement.clientHeight, elemFromPoint = funktsioon (x, return document elementFromPoint (x, y);); if (rec.right< 0 || rect.bottom < 0 || rect.left >vWidth || rect.top> vHeight) (return false;) return (element.contains (elemFromPoint (rec.left, rect.top)) || element.contains (elemFromPoint (rec.right, rect.top)) || element.contains (elemFromPoint (rect.right, rect.bottom)) || element.contains (elemFromPoint (rec.left, rect.bottom))); )

Saate kutsuda _isElementVisible näiteks funktsiooni _transformItem algusesse. See toiming võimaldab teil tühistada slaidide automaatse muutmise, kui liugur on hetkel vaateavast väljas.

Var _transformItem = funktsioon (suund) (var nextItem; if (! _IsElementVisible (_mainElement)) (tagasi;) // ...

Liugur, mis reageerib brauseriakna suuruse muutmisele

See adaptiivse liuguri versioon erineb eelmistest selle poolest, et see võimaldab muuta aktiivsete elementide (slaidide) arvu brauseriakna suuruse muutmisel... Tavaliselt kasutajad brauseri suurust ei muuda, kuid see võib siiski juhtuda.

Seda rakendatakse suuruse muutmise sündmuse ja massiivi _states abil. Massiivi kasutatakse arvutuste tegemiseks. Selle kasutamine võimaldab teil liugurit mitte uuesti lähtestada, kui see pole vajalik.