Эффект карт Laravel Vite + SwiperJs не отображается должным образом

Я пытаюсь заставить работать эффект карты Swiper, но безуспешно. Я использую Laravel + Vite с ядром JS Swiper.

Я следовал краткому руководству и установил через NPM пакет для Swiper. После этого я добавил app.js следующие строки

импортировать Swiper из «swiper»;

let swiper = new Swiper(".swiper", {
    effect: "cards",
    grabCursor: true,
    initialSlide: 2,
    speed: 500,
    loop: true,
    rotate: true,
    mousewheel: {
        invert: false,
    },
});

В свой app.css я добавил следующие строки:


.swiper {
    width: 240px;
    height: 320px;
}

.swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    font-size: 22px;
    font-weight: bold;
    color: #fff;
}

.swiper-slide:nth-child(1n) {
    background-color: rgb(206, 17, 17);
}

.swiper-slide:nth-child(2n) {
    background-color: rgb(0, 140, 255);
}

.swiper-slide:nth-child(3n) {
    background-color: rgb(10, 184, 111);
}

.swiper-slide:nth-child(4n) {
    background-color: rgb(211, 122, 7);
}

.swiper-slide:nth-child(5n) {
    background-color: rgb(118, 163, 12);
}

.swiper-slide:nth-child(6n) {
    background-color: rgb(180, 10, 47);
}

.swiper-slide:nth-child(7n) {
    background-color: rgb(35, 99, 19);
}

.swiper-slide:nth-child(8n) {
    background-color: rgb(0, 68, 255);
}

.swiper-slide:nth-child(9n) {
    background-color: rgb(218, 12, 218);
}

.swiper-slide:nth-child(10n) {
    background-color: rgb(54, 94, 77);
}

В конце в HTML я добавил следующую структуру:

          <!-- Swiper -->
          <div class = "swiper mySwiper">
              <div class = "swiper-wrapper">
                  <div class = "swiper-slide">Slide 1</div>
                  <div class = "swiper-slide">Slide 2</div>
                  <div class = "swiper-slide">Slide 3</div>
                  <div class = "swiper-slide">Slide 4</div>
                  <div class = "swiper-slide">Slide 5</div>
                  <div class = "swiper-slide">Slide 6</div>
                  <div class = "swiper-slide">Slide 7</div>
                  <div class = "swiper-slide">Slide 8</div>
                  <div class = "swiper-slide">Slide 9</div>
              </div>
          </div>

И вот конечный результат:

https://github.com/nolimits4web/swiper/assets/32356067/66e96e8d-590b-4f6c-a696-a9bb4375b3ab

Я скопировал готовые примеры из codepen, и они тоже не работают.

Вот что у меня есть в каталоге NPM моего Swiper в node_modules.

Я импортирую что-то не так или что?

Я также проверил https://swiperjs.com/swiper-api#css-styles и попробовал добавить оттуда стили, связанные с карточками, но у меня в пакете вообще нет папки CSS.

Есть ли у Вас ошибки в консоли? Загружены ли стили и скрипты для свайпера?

Vucko 12.04.2024 11:38

Они загружаются, да, никаких ошибок в консоли или что-то в этом роде. Журналы тоже чисты :(. У меня загружено еще несколько вещей, которые работают. Я почти на 99% уверен, что проблема в том, что я импортирую в JS.

Kristian Vasilev 12.04.2024 11:46
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
90
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам необходимо импортировать эффект карты отдельно. По умолчанию Swiper экспортирует только свои основные функции.

Примечание. В большинстве примеров Swiper используется пакет, в который входит все.

import Swiper from "swiper";
import { EffectCards } from "swiper/modules";

let swiper = new Swiper( ".swiper", {
  modules: [ EffectCards ],
  effect: "cards",
  grabCursor: true,
  initialSlide: 2,
  speed: 500,
  loop: true,
  rotate: true,
  mousewheel: {
    invert: false,
  },
} );

потрясающе, спасибо. Я пытался импортировать его, но, похоже, я сделал неправильный импорт ^^

Kristian Vasilev 12.04.2024 12:27

Другие вопросы по теме