RSS元素上的jQuery无限循环

RSS元素上的jQuery无限循环,jquery,rss,jquery-animate,Jquery,Rss,Jquery Animate,我正在使用jGFeed从远程服务器检索RSS提要。 没什么难的,真的。我遇到的问题是关于提要的显示:我试图循环rss的每个检索元素,并显示它。然后将其移除,并显示下一个 以下是我如何尝试这样做,但没有成功: $(document).ready(function() { function loop(links){ var i = 0; var arrayLength = links.length;

我正在使用jGFeed从远程服务器检索RSS提要。 没什么难的,真的。我遇到的问题是关于提要的显示:我试图循环rss的每个检索元素,并显示它。然后将其移除,并显示下一个

以下是我如何尝试这样做,但没有成功:

        $(document).ready(function() {

        function loop(links){
            var i = 0;
            var arrayLength = links.length;

            for (i=0;i<=arrayLength;i++){
                $('#rssLink').empty().append(links[i]).fadeIn("slow");
                setTimeout(function() {
                    $('#rssLink').fadeOut("fast");
                }, 5000);                   
            }
        }

        function animate(feeds){
            var taille = feeds.length;
            var links = [];
            for ( var i = 0; i < taille; i++ ){
                links[i] = "<a href='"+feeds[i].link+"'>"+feeds[i].title+"</a>";
            }
            loop(links);
        }

        $.jGFeed('http://www.wrc.com/services/newsrss.jsp',
                function(feeds){
                  // Check for errors
                  if(!feeds){
                    // there was an error
                    return false;
                  }
                  animate(feeds.entries);
                }, 50);
    }); 
$(文档).ready(函数(){
函数循环(链接){
var i=0;
var arrayLength=links.length;

因为(i=0;i在我看来,你将用这条线超出数组长度:

for (i=0;i<=arrayLength;i++){

用于(i=0;iYou解决方案工作得很好,但是,循环不是无限的……我试着检查你的代码,添加console.log来尝试对正在发生的事情进行一个偷偷的峰值,但似乎没有什么问题……:-/@pixelboy-我想我误解了。要继续重复循环提要,请参阅上面的评论行是的,这也是我想到的。谢谢。
function loop(links) {
    function showLink(i) {
        $('#rssLink').empty().append(links[i]).fadeIn("slow");
        setTimeout(function() {
            $('#rssLink').fadeOut("fast", function() {
                if(i + 1 < links.length) showLink(i + 1);
                else showLink(0); // this line causes it to loop again from the start
            });
        }, 5000);  
    }
    showLink(0);
  }