Zeigen Sie die Hälfte der nächsten Folie ohne Center-Modus im Slick Slider

Lesezeit: 3 Minuten

Benutzer-Avatar
Koch88

Ich möchte einen Schieberegler haben, der 3,5 Folien gleichzeitig anzeigt, wobei die Folie ganz rechts diejenige ist, die nur zur Hälfte angezeigt wird. Ich habe so etwas erfolgreich mit centerMode und centerPadding mit Slick-Slider gesehen, aber ich möchte nicht, dass die Folien zentriert werden. Mit anderen Worten, ich möchte, dass die Folie ganz links mit der Seite des Fensters bündig ist und vollständig sichtbar ist, aber die Folie ganz rechts halb im Fenster und halb daneben liegt. Ist das bei Slick möglich? Ich habe Leute gesehen, die slidesToShow: 3.5 verwendet haben, aber dadurch verschwindet die ganz linke Folie halb vom Bildschirm und ich brauche sie auf der rechten Seite.

Benutzer-Avatar
Abdel Rahman

“slidesToShow: 3.5 option” muss nicht hinzugefügt werden

Ruf einfach glatt an:-

$('.Your-container').slick({
    arrows: false,
});

und folgendes CSS hinzufügen:

.slick-list{padding:0 20% 0 0 !important;}

Entweder Sie können rechts eine feste Auffüllung oder einen Prozentsatz angeben.

  • Danke Abdel! Viel sauberere Lösung.

    – Cook88

    24. April 2017 um 22:29 Uhr

  • Das ist so eine Zeitersparnis. Gott segne dich.

    – Marios Pittas

    30. September 2019 um 7:30 Uhr

  • Vielen Dank. Beachten Sie jedoch, dass es nicht funktioniert, wenn Sie den Stil direkt im Browser über den Inspektor hinzufügen, falls Sie versuchen, ihn zu testen. Sie müssen es in die vom Browser geladenen Dateien einfügen.

    – Giuseppe

    23. Januar 2020 um 12:03 Uhr

  • .slick-list{padding:0 20% 0 0 !important;} hat bei mir funktioniert. Als raffinierte Funktionalität fügt es sich selbst hinzu padding:0; zum .slick-list Klasse, die unser CSS überschreibt.

    – Code_Art

    24. November 2020 um 20:57 Uhr

Sie können so etwas tun slidesToShow: 3.5 und mache infinite: false. Die Folie ganz rechts zeigt die Hälfte.

  • Das infinite: false macht den Trick, hämmere mir schon eine Weile den Kopf darauf!

    – Matteo Pieroni

    23. Juli 2019 um 7:21 Uhr

  • Ich habe das gerade ausprobiert und es zeigt die Hälfte der vorherigen Folie, nicht die nächste.

    – lordZ3d

    24. März 2020 um 10:54 Uhr

Sie können dies auch in Slick tun, indem Sie diese beiden Parameter in der Slick-Initialisierung hinzufügen:

centerMode: true,
centerPadding: '20%',

Dies ist das Äquivalent zu

.slick-list{padding:0 20% 0 0;}

  • Das ist schön und gut, aber beachten Sie, dass die Frage nach diesem Layout fragt, ohne centerMode zu verwenden.

    – Cook88

    17. April 2018 um 18:08 Uhr

  • Es kann nicht 0 20% 0 0 entsprechen, da Sie in Ihrem Fall die linke und rechte Folie sehen können. Und in 0 20% 0 0 – nur richtig.

    – Aleksej Makas

    27. März 2019 um 9:23 Uhr

Bitte achten Sie auf die Verwendung slidesToShow mit Nachkommastellen.

Entsprechend Offizielle Dokumentation slidesToShow ist vom Typ int und nicht float. Die Verwendung als Float verursacht unvorhersehbare Ausnahmen breakpoint Ereignis (wenn Sie eine benutzerdefinierte Haltepunktoption angegeben haben).

Weitere Informationen zu diesem Problem finden Sie in den offiziellen Slick-GitHub-Threads hier, hier.

Benutzer-Avatar
Jay Gangkun

Vielleicht müssen Sie wichtige in CSS hinzufügen.

Hier ist mein JS-Code:

$(this).slick({
    slidesToShow: 1,
    slidesToScroll: 1,
    adaptiveHeight: true,
    infinite: true,
    arrows: true,
    dots: false,
    centerMode: true,
})

Hier ist CSS-Code:

.slick-list {
    padding:0 20% 0 0 !important;
}

Benutzer-Avatar
Aaron

Mein Anwendungsfall ist etwas anders, da ich Teile sowohl der vorherigen als auch der nächsten Folie zeigen möchte. ebenso gut wie die Pfeile zwischen der aktuellen Folie und diesen Folien.

Was bisher für mich funktioniert, ist das Hinzufügen dieser Stile:

.slick-list {
  /* Show slides that would otherwise be hidden off-screen */
  overflow: visible;
}

.slick-slide:not(.slick-current) {
  /* Make slides other than the current one translucent */
  opacity: 0.4;
}

Es ist ein Work-in-Progress, aber dies war die einzige Möglichkeit, um sowohl die vorherige als auch die nächste Folie anzuzeigen.

Vielleicht ist es erwähnenswert, dass die Einstellung lazyLoad: "ondemand" ist mit diesem Ansatz nicht kompatibel, da der Inhalt der Vorschaufolien erst geladen wird, wenn sie sich in der Mitte befinden.

1205690cookie-checkZeigen Sie die Hälfte der nächsten Folie ohne Center-Modus im Slick Slider

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy