在jCarousel中动态设置配置设置

时间:2011-12-09 17:11:13

标签: jquery jcarousel

我正在使用jCarousel脚本(http://sorgalla.com/jcarousel/),我想知道是否有人知道根据轮播中有多少项动态设置特定配置设置的方法?例如,如果轮播中有四个或更少的项目,我希望发生这种情况:

$().ready(function() {
  $('#sixMR').jcarousel({
    animation: 'slow',
    scroll: 1
  });
});

但如果有五件或更多件物品我就需要这件事:

$().ready(function() {
  $('#sixMR').jcarousel({
    animation: 'slow',
    scroll: 1,
    wrap: 'circular'
  });
});

1 个答案:

答案 0 :(得分:0)

你可以用init callaback做到这一点:

$(whatever).jcarousel({
  "initCallback": function(c, state){
      if(c.list.length < 5){
        c.options = $.extend(c.options, {
          animation: 'slow',
          scroll: 1,
          wrap: 'circular'
        });
      } else {
         c.options = $.extend(c.options, {
            animation: 'slow',
            scroll: 1
         });
      }
  }
});

现在我知道肯定会因为如何以及何时使用选项值而起作用...在init之后修改它们实际上可能为时已晚。在这种情况下,没有办法直接插件(除非你想再次重新启动,但这看起来很浪费)。如果是这样,那么最简单的事情就是制作一个包装器并判断你的选项,然后从那里创建轮播。