2011-12-29 15 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