Материализация CSS Карусель показывает индикаторы на мышином центре - PullRequest
0 голосов
/ 03 мая 2020

Здравствуйте, у меня проблема.

Я пытаюсь изменить параметры экземпляра Карусели для события mouseenter. Что мне нужно сделать для повторного рендеринга экземпляра?

Мой html:

  <div class="carousel carousel-slider center">
    <div class="carousel-fixed-item center">
      <a class="btn waves-effect white grey-text darken-text-2">button</a>
    </div>
    <div class="carousel-item red white-text" href="#one!">
      <h2>First Panel</h2>
      <p class="white-text">This is your first panel</p>
    </div>
    <div class="carousel-item amber white-text" href="#two!">
      <h2>Second Panel</h2>
      <p class="white-text">This is your second panel</p>
    </div>
    <div class="carousel-item green white-text" href="#three!">
      <h2>Third Panel</h2>
      <p class="white-text">This is your third panel</p>
    </div>
    <div class="carousel-item blue white-text" href="#four!">
      <h2>Fourth Panel</h2>
      <p class="white-text">This is your fourth panel</p>
    </div>
  </div>

Мой js:

  document.addEventListener('DOMContentLoaded', function() {
    var elems = document.querySelectorAll('.carousel');
    var instances = M.Carousel.init(elems, {
          fullWidth: true,
          indicators: false
    });
  });

document.querySelector('.carousel').
    addEventListener('mouseenter', function(event) {
      var elem = document.querySelector('.carousel');
      M.Carousel.getInstance(elem).options.indicators = true;
    });

Здесь Это пример на codepen: https://codepen.io/bearwithme/pen/MWaOvbX

1 Ответ

1 голос
/ 03 мая 2020

Хорошо, сначала я бы инициализировал индикаторы, а затем просто спрятал и показал их простым css наверху. Вааааааааааааааааа проще.

Если вы должны изменить функцию при вводе мыши, вам нужно будет уничтожить экземпляр и повторно выполнить:

instance.destroy();
var elems = document.querySelectorAll('.carousel');
var instances = M.Carousel.init(elems, {
          fullWidth: true,
          indicators: true
    });

https://materializecss.com/carousel.html#methods

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...