JQuery JCarousel(不是精简版)和鼠标滚轮。需要帮忙

时间:2011-04-14 07:12:24

标签: javascript jquery jcarousel mousewheel

我使用下面的那些js文件:

jquery-1.4.2.min.js
include/jcarousel/lib/jquery.jcarousel.min.js
include/mousewheel/jquery.mousewheel.js

在我的index.php文件中我得到了:

 jQuery(document).ready(function() {
jQuery('#mycarousel').mousewheel(function(event, delta) {
                    if (delta > 0)
                    {carousel.prev();}
                    else if (delta < 0)
                    {carousel.next();}
        });
jQuery('#mycarousel').jcarousel({

    size: mycarousel_itemList.length,
    itemLoadCallback: {onBeforeAnimation: mycarousel_itemLoadCallback},
visible: 3,
btnNext: null,
 btnPrev: null,

});

});

我认为问题出在

{carousel.prev();}
{carousel.next();}

我想将鼠标滚轮添加到我的jcarousel但是当我滚动滚轮时我无法找到适当的功能。 请帮我。可能需要更多信息。我到现在为止一直都在做。 :(

2 个答案:

答案 0 :(得分:3)

carousel.prev();和carousel.next();因为轮播未定义,所以不会起作用。您需要指定一个回调函数,然后您可以在其中手动运行轮播函数。

例如:

jQuery('#mycarousel').jcarousel({    
    size: mycarousel_itemList.length,
    itemLoadCallback: {onBeforeAnimation: mycarousel_itemLoadCallback},
    visible: 3,
    btnNext: null,
    btnPrev: null,
    // The callback function to run
    initCallback: mycarousel_initCallback,    
});

function mycarousel_initCallback(carousel) {
    // All code referencing the carousel in here.
    jQuery('#mycarousel').mousewheel(function(event, delta) {
        if (delta > 0)
            {carousel.prev();}
        else if (delta < 0)
            {carousel.next();}
        });

}

在此示例中阅读更多内容:http://sorgalla.com/projects/jcarousel/examples/static_controls.html

希望这有帮助!

答案 1 :(得分:3)

将我的代码段插入 jquery.jcarousel.js 在这一行之后:

$(window).bind('load.jcarousel',function(){windowLoaded = true;});

// Activate the mouse wheel function --------------------------
$('.jcarousel').bind('mousewheel', function(event, delta) {
    if (delta > 0)
        self.prev();
    else if (delta < 0)
        self.next();
});