JCarousel JQuery插件,需要一些帮助

时间:2010-01-11 21:20:09

标签: javascript jquery html jquery-plugins

即使旋转木马中没有任何项目,也会启用下一个按钮,似乎JCarousel认为它有无限项目,因为当我点击下一个按钮时,它实际上会滚动。

我想在Carousel中没有任何项目时禁用'next'。

当旋转木马中有物品时,旋转木马工作正常! 我绝对没有使用JQuery的经验,只有一些javascript。

这就是我所拥有的:

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

    });
});

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

希望那里的人会帮助我。

由于

2 个答案:

答案 0 :(得分:2)

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

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

您还可以查看buttonNextCallbackbuttonPrevCallback轮播功能,如果当前li:last,则可以再次启用或禁用下一个和上一个“按钮”分别是:first或{{1}}。

答案 1 :(得分:0)

我在你的其他问题中没有问过这个问题,但我现在会 - 如果没有任何广告意味着你有一个完全空的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是一条很好的路径。