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

时间:2015-03-02 22:50:25

标签: javascript jquery function if-statement slick.js

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

谢谢!

$( 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');
});

1 个答案:

答案 0 :(得分:1)

认为您希望代码找到“gallery”元素,然后设置“galleryStyle”标志。那应该是这样的:

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