Как скользить по элементу щелчка с помощью Vue-Carousel?

Я рад задать свой первый вопрос сегодня :) Как скользить по элементу щелчка с помощью Vue-Carousel?

Я хотел бы запустить слайд вправо одним щелчком мыши на моем вводе. Это мой код, основанный на документации:

<carousel id = "demo_carousel">
  <slide class = "slides_demo">
      <input type = "button" @click = "getNextPage()" value = "Go" />
  </slide>
  <slide class = "slides_demo">
      <p>This is next page</p>
  </slide>
</carousel>

И это моя функция:

  methods: {
    getNextPage:function() {
      if (this.currentPage < this.pageCount - 1) {
        return this.currentPage + 1;
      }
      return this.loop ? 0 : this.currentPage;
    }
  }

Но скольжения не срабатывает. Что я сделал не так? Должен ли я создать свою собственную функцию?

Документация Vue-Carousel: (https://github.com/SSENSE/vue-carousel)

Спасибо за помощь :)

вы можете показать остальную часть вашего кода? где хранятся такие переменные, как currentPage или pageCount?

Giacomo Ciampoli 07.04.2018 12:22

Привет @LimeInTheCoconut Я использую методы из модуля Carousel, которые я использую: github.com/SSENSE/vue-carousel/blob/master/src/Carousel.vue, но я не совсем уверен, что это применимо ...

BiggestCast 07.04.2018 12:24

хорошо, если вы можете воссоздать работающий скрипт: stackoverflow.blog/2014/09/16/… или jsfiddle были бы отличным подспорьем, чтобы понять, что идет не так

Giacomo Ciampoli 07.04.2018 12:47

@LimeInTheCoconut Я пытался применить эту карусель в качестве библиотеки, но это не сработало :( В любом случае спасибо за вашу помощь, мой друг

BiggestCast 07.04.2018 13:12

codeandbox, вероятно, лучшее место для кодов vue: codeandbox.io/s/vue

A. L 07.04.2018 13:50

Большое спасибо @ A.Lau

BiggestCast 08.04.2018 11:59
Поведение ключевого слова "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
6
4 431
2

Ответы 2

Ладно, ребята, я сам нашел решение. Надеюсь, это поможет людям в будущем :)

Это мой код:

<div class = "VueCarousel-inner">
<carousel id = "demo_carousel">
  <slide class = "slides_demo">
      <input type = "button" @click = "gotoSlide()" value = "Go" />
  </slide>
  <slide class = "slides_demo">
      <p>This is next page</p>
  </slide>
</carousel>
</div>

Раньше был div, класс которого был "VueCarousel-inner". Создает массив со всеми каруселями внутри. Вот почему мне пришлось указать «slider [0]», чтобы настроить таргетинг на мой слайдер.

И функция, которую я создал в методах, которая автоматически запускает слайд, который вы хотите, рядом с экраном:

gotoSlide: function(){
      let slider = window.document.getElementsByClassName('VueCarousel-inner');
      if (window.innerWidth < 810) {
        slider[0].style.transform = "translate3d(" + "-" + slider[0].style.flexBasis + ", 0px, 0px)";
      } else {
        slider[0].style.transform = "translate3d(-810px, 0px, 0px)";
      }
    }

И он полностью отзывчивый :)

Всем спасибо за помощь!

Есть функция goToPage, если вы хотите перейти к следующему или любому конкретному слайду. Вы можете использовать приведенный ниже код, если вы установили ref = "carousel"

this.$refs.carousel.goToPage(this.$refs.carousel.currentPage + 1);

Он переместится на следующую страницу.

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