1

我正在使用 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 很陌生。

4

1 回答 1

0

看起来jCarouselLite有一个afterEnd功能。

所以你应该能够做这样的事情:

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

我不肯定你是否必须将该函数包装在另一个函数中,但以防万一,代码将是:

afterEnd: function(){updateConsoles();}
于 2011-12-29T18:10:30.870 回答