【问题标题】:JCarousel JQuery plugin, some help neededJCarousel JQuery 插件,需要一些帮助
【发布时间】:2010-01-11 21:20:09
【问题描述】:

即使轮播中没有项目,下一个按钮也会启用,并且似乎JCarousel 认为它有无限项,因为当我单击下一个时,它实际上会滚动。

当轮播中没有项目时,我想禁用“下一个”。

顺便说一句,当轮播中有物品时,轮播会完美运行! 我完全没有使用 JQuery 的经验,只有一些 javascript。

这就是我所拥有的:

jQuery(document).ready(function() {
    jQuery('#mycarousel').jcarousel({
        scroll:4

    });
});

我认为我应该以某种方式使用 initCallback,但正如我所说,我根本没有使用 JQuery 的经验。 BTW here is all JCarousel 参数,我想,如何设置它们。

希望有人能帮助我。

谢谢

【问题讨论】:

    标签: javascript jquery html jquery-plugins


    【解决方案1】:

    我相信你是对的,initCallback 是你想要的。您需要进行某种测试以查看列表中是否包含任何项目,例如:

    initCallback: function(carousel, state){
        if($(carousel).find('li').length == 0){
           $('#next').attr('disabled', true);
        }else{
           $('#next').attr('disabled', false);
        }
    }
    

    您可能还想查看buttonNextCallbackbuttonPrevCallback 轮播功能,如果当前li:last 或@,这将再次允许您启用或禁用下一个和上一个“按钮” 987654327@,分别。

    【讨论】:

      【解决方案2】:

      我没有在你的其他问题中问这个,但我现在会问 - 如果没有广告暗示你有一个完全空的 ul 开头,那么为什么还要有 ul 以及为什么要调用 jcarousel是吗?

      我认为您这样做是为了布局一致性,如果是这样的话,那没关系,但是您不应该为您的广告框设置一些默认内容吗?否则你会得到控件和一个我无法想象的空白 div 看起来“不错”。

      无论哪种方式我都可以为您提供帮助,但我想提供一个好的解决方案,它可能是您实际要求的解决方案,也可能不是;-)

      例如,如果没有广告,则完全省略 jcarousel 调用,您可以执行以下操作:

      $(document).ready(function(){
        var carouselList = $('#my-ad-carousel li');
        if(carouselList.length > 0) {
          carouselList.jcarousel({scroll: 4});
        }
      });
      
      or replace it with a single default ad:
      
      $(document).ready(function(){
        var carouselList = $('#my-ad-carousel li');
        if(carouselList.length > 0) {
          carouselList.jcarousel({scroll: 4});
        }
        else{
          carouselList.replaceWith('<img src="/path/to/some/image" />");
        }
      
      });
      

      这完全取决于,但我不确定简单地显示完全禁用的 arousel 是否是一条好路。

      【讨论】: