如何在函数参数上 运行 一个 jQuery if 语句?

How do I run a jQuery if statement on a function paremeter?

我试图通过简化我的 Slick Slider 脚本来避免过多的代码。我正在尝试 运行 一个设置布尔参数的函数,但我显然在这里遗漏了一些东西。如果 .content-gallery 有 .casestudy class,这是我的 CMS 中的不同内容类型,目标是将 fade 参数从 true 更改为 false。

谢谢!

$( window ).load(function() {
 var galleryStyle = true;
 var $gallerySlider = $("div.content-gallery-wrapper .content-gallery"),function(){
   if ( $gallerySlider.hasClass("casestudy") ) {
    var galleryStyle = false;
   } else {}
 };

 $gallerySlider.each(function(){
   $(this).slick({
      centerMode: true,
      centerPadding: '0',
      slidesToShow: 1,
      slidesToScroll: 1,
      // dots: true,
      prevArrow: '.arrow.left',
      nextArrow: '.arrow.right',
      fade: galleryStyle
    });
 });

 $('.loading').removeClass('loading');
});

使用下面的答案之一,并将 if 语句移动到初始化函数中似乎可以解决问题。

$( window ).load(function() {
 var galleryStyle = true;
 var $gallerySlider = $("div.content-gallery-wrapper .content-gallery");

 $gallerySlider.each(function(){
    if ( $(this).hasClass("casestudy") ) {
        galleryStyle = false;
    }
 $(this).slick({
      centerMode: true,
      centerPadding: '0',
      slidesToShow: 1,
      slidesToScroll: 1,
      // dots: true,
      prevArrow: '.arrow.left',
      nextArrow: '.arrow.right',
      fade: galleryStyle
    });
});

$('.loading').removeClass('loading');
});

认为 您需要找到 "gallery" 元素然后设置 "galleryStyle" 标志的代码。那应该是这样的:

var $gallerySlider = $("div.content-gallery-wrapper .content-gallery");
if ( $gallerySlider.hasClass("casestudy") ) {
    galleryStyle = false;
}