自定义jCarousel触发器 - 项目结束

时间:2011-12-29 17:32:59

标签: javascript jquery jcarousel jcarousellite

我正在使用jCarousel来显示项目列表。可以说有8个项目。我显示4,等待10秒,然后滚动显示最后4个。我希望它显示前四个,然后抛出一个触发器,告诉它重新绑定数据。这些项目将更新并继续像这样循环。

这些项目是通过jquery.load [ajax]加载的。我希望这些物品在展示完之后再重新绑定。如果我可以让他们在骑自行车两次后重新绑定,那就更好了。我使用setInterval(基于时间)重新绑定数据,但我希望它是动态的,所以当添加更多项目时,我不必在以后更改javascript计时器。

我的调用代码如下所示:

    $(document).ready(function () {
        updateConsoles();


        $("#tableapp").ajaxStop(function () {                
            scrollwindow();
        });
    });      

    function updateConsoles() {
        $('#tableapp').load('AjaxPages/ApplicationMonitor.aspx #application');
    }        
    function scrollwindow() {
        $("#tableapp").jCarouselLite({
            vertical: true,
            hoverPause: true,
            visible: 4,
            auto: 6000,
            speed: 500,
            scroll: 4
        });
    };

理想情况下,我希望能够添加以下内容:

   function scrollwindow() {
        $("#tableapp").jCarouselLite({
            vertical: true,
            hoverPause: true,
            visible: 4,
            auto: 6000,
            speed: 500,
            scroll: 4,
            whenFinishedCyclingItems: updateConsoles()
        });
    };

我对javascript和jQuery很新。

1 个答案:

答案 0 :(得分:0)

看起来jCarouselLite具有afterEnd功能。

所以你应该可以这样做:

function scrollwindow() {
        $("#tableapp").jCarouselLite({
            vertical: true,
            hoverPause: true,
            visible: 4,
            auto: 6000,
            speed: 500,
            scroll: 4,
            afterEnd: updateConsoles()
        });
    };

如果你不得不将该函数包装在另一个函数中,我不肯定,但为了以防万一,代码将是:

afterEnd: function(){updateConsoles();}