如何手动滑动jcarousel

时间:2011-08-15 12:18:17

标签: jquery drupal drupal-jcarousel

我在drupal中使用jcarousel如下:

jcarousel_add('#jcarousel',
    array('vertical' => false, 'scroll' => 3, 'horizontalDirection' => $direction,
        'initCallback' => 'slCarousel_initCallback')

    );

现在问问题尽可能简单:我怎样才能手动滑动轮播?

之类的东西
jQuery("#jcarousel").jcarousel().next();

顺便说一句,,,当我运行这个脚本 jQuery(“#jcarousel”)。jcarousel()。next(); 在firebug中我在firebug的控制台中得到了这个

>>> jQuery("#jcarousel").jcarousel().next();
[]

我在firebug控制台中也试过这个

var carousel = jQuery("#jcarousel").data('jcarousel');
//alert (carousel);
carousel.next();

得到了

>>> var carousel = jQuery("#jcarousel").data('jcarousel'); carousel.next()
TypeError: carousel is undefined

并且警报(轮播)的结果是单词 undefined

3 个答案:

答案 0 :(得分:0)

您确定轮播的ID是jcarousel吗?该插件的文档建议jcarousel_add()将类名作为第一个参数。如果是这种情况,如果您将其更改为$( '.jcarousel' ),则可以使用jcarousel_add( "jcarousel", ... )访问它。检查carousel元素或检查页面源以查看id和类。

答案 1 :(得分:0)

你有没有尝试过:

jQuery('#jcarousel').jcarousel("next");
编辑:调用没有参数的$(foo).jcarousel()会返回一个jQuery对象,因此调用next()将返回旋转木马的下一个兄弟。此功能:http://api.jquery.com/next/

答案 2 :(得分:0)

好的...我通过创建全局变量然后将轮播的值分配给它来修复它

var global_jc="";
function slCarousel_initCallback(carousel) {
        global_jc=carousel;
....
}

然后手动使用下一个我想用的地方

global_jc.next();