Как я могу передать значение переменной команде внутри функции? - PullRequest
1 голос
/ 03 апреля 2020

на самом деле я использую отзывчивый плагин карусели jQuery (slick) для моего сайта, который работает очень хорошо.

Теперь я хочу, чтобы команда 'autoplay: true' управлялась отдельной переменной «ausgabe», это зависит от наличия id-тега. Мое предложение if уже работает, но я абсолютно не знаю, как определить autoplay = ausgabe. Возможно ли это?

Чтобы прояснить вопрос, вот мой код:

<script type="text/javascript">
  if ($('#comment-preview').length != 0) {
    ausgabe = "true";
  } else {
    ausgabe = "false";
}
  $(document).ready(function(){
    $('.slideshow-container').slick({
      dots: true,
      speed: 500,
      (
      autoplaySpeed: 5000,
      infinite: true,
      slidesToShow: 3,
      slidesToScroll: 1,
      responsive: [
        {
          breakpoint: 800,
          settings: {
            slidesToShow: 2,
            slidesToScroll: 1
          }
        },
        {
          breakpoint: 480,
          settings: {
            slidesToShow: 1,
            slidesToScroll: 1
          }
        }
       ]
    });
  });
</script>

И да, я абсолютная ладья ie.

Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 03 апреля 2020

Я тоже новичок, это может быть слепой, ведущий слепого, но у меня есть две мысли о том, как это сделать. Сначала в вашем операторе if будет выбран элемент карусели и изменено значение «autoplay» на T / F. Примерно так: $('element')["autoplay"] = attr_value; Не уверен, что это сработает: /

Моя вторая идея заключается в том, чтобы превратить все ваши параметры в переменную и добавить атрибут autoplay на основе оператора if, а затем передать все варианты в пятно.

let options = {..}
if (){
   options = {...options, autoplay: "true"};
}else{
   options = {...options, autoplay: "false"};
}

..    $('.slideshow-container').slick(options)

Я немного увереннее в этом решении. Вы также можете передать в них переменную ausgabe, но я не думаю, что она понадобится.

Надеюсь, это поможет, удачи!

0 голосов
/ 03 апреля 2020

Если вы отметите slick slider docs , свойство autoplay должно быть логическим, а не строкой, как вы сейчас создаете. Таким образом, вы можете просто предоставить ему результат проверенного условия без необходимости создания переменной ausgabe, например:

$(document).ready(function() {
  $('.slideshow-container').slick({
    autoplay: $('#comment-preview').length != 0,
    // other properties...
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...