2011-12-29 52 views
1

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

这些项目正在通过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。

回答

0

看起来像jCarouselLiteafterEnd功能。

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

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

我不是正面的,如果你有包装内的另一个功能或没有该功能,但为了以防万一,代码成为:

afterEnd: function(){updateConsoles();} 
+0

工作!有关进一步的知识,您是如何找到afterEnd函数的?它在jCarouselLite脚本中的某处吗?我想看看我能否找到一个“beforeStart”。这样我可以循环所有的列表项,以便它们回到零,然后重新加载数据。就像现在一样,数据正在重新加载,而我正盯着底部的4个项目。 – lorengphd 2011-12-29 20:07:57

+0

在文档中找到它。只需要看更难! *选项 - beforeStart,afterEnd:函数 - 回调 *例如 * $( “旋转木马 ”)jCarouselLite({ * btnNext“。接下来”, * btnPrev: “.prev”, * beforeStart:函数(){ *警报( “前动画开始:” + A); *}, * afterEnd:函数(){ *警报( “动画结束之后:” + A); *} *}); – lorengphd 2011-12-29 20:45:17

+0

有一个开始功能。只需查看[jCarouselLite文档](http://www.gmarwaha.com/jquery/jcarousellite/#doc)即可查看选项列表。很高兴帮助:) – john 2011-12-29 20:45:40