Событие, когда Flickity достигает следующего или предыдущего слайда

Flickity имеет привязку к событию. Есть ли событие для перехода к следующему или предыдущему слайду? Например, событие установки запускается после установки слайда. Это делает то, что мне нужно, но проблема здесь в том, что он также срабатывает, если Flickity останавливается на том же слайде, это может произойти, если вы провели пальцем, но недостаточно, и Flickity вернётся туда, где он был. Похоже, демонстрационная версия cellSelect делает почти то же самое.

На мой взгляд, что-то вроде этого, возможно, объясняет, чего я пытаюсь достичь:

$carousel.on( 'nextSlideReached', function() {
   console.log( 'Flickity has settled on the next slide' );
});

person Community    schedule 27.04.2016    source источник


Ответы (1)


Используя событие оседания, мы можем проверить, остановились ли мы на новом слайде или нет:

var selectedIndex = flkty.selectedIndex;

$carousel.on( 'settle', function() {
  if ( flkty.selectedIndex !== selectedIndex ) {

    console.log('settled at new cell', flkty.selectedIndex);
    selectedIndex = flkty.selectedIndex;

    // do stuff

  }
});
person Community    schedule 03.05.2016
comment
Этот код должен обновлять selectedIndex каждый раз, когда вызывается «установить», верно? У меня тот же код, и я продолжаю получать 0 для selectedIndex. - person nclsvh; 25.05.2016
comment
@NicolasV вы определили $ carousel ..? + теперь вам нужно использовать flickity пространство имен. урегулировать.flickity - person honk31; 20.07.2016