начальная гармошка не расширяется - PullRequest
0 голосов
/ 04 октября 2019

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

По этой причине у меня есть следующий (я ожидал) повторно используемый код:

// based on the id supplied, toggle the collapse function
function setSlideshow (cardId, autoClick=true) {
  if(!(autoClick)){
    //stop the counter
  }
  $('.slideshow img').removeClass('show')
  var clickedCard = $('.slideshow img#' + cardId)
  clickedCard.collapse('toggle')
}

// bind event for click with no userClick arg
$('#accordion .card button').click('click', slideShowClicked)

// function to call toggle
function nextSlide () {
  // search for id of next slide
  // i removed some code here for ease of reading
  var nextSlideId = $('#slideshow img.show + img').attr('id')
  // pass the false arg
  setSlideshow(nextSlideId, false)
}

// bind setinterval
function initSlideshow () {
  // add the automatic change event
  setInterval(function () {
      nextSlide()
  }, 1000)
}

Проблема заключается в том, что когдане щелкая вручную (т. е. не передавая связанное событие, а вместо этого методом setInterval) с точно таким же аргументом cardId для функции setSlideshow, аккордеон не обновляется.

Почему это?

(рад опубликовать разметку при необходимости)

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