2013-06-05 69 views
0

我試圖添加一個顯示更多的按鈕或div在這裏的示例show more button我的jQuery rss我在這裏製作Jquery rss feed。問題是,我嘗試了很多次使用div包裝器來包裝rss div,並強制它僅顯示幾行,但它沒有工作...jquery rss與顯示更多功能

所以我只想隱藏所有RSS feeds只說前3名。然後,每當我想表現出更多的飼料線程的,我只需點擊顯示更多按鈕...

這是顯示更多按鈕,使用javascript:

jQuery的顯示按鈕

for (var i = 0; i < 30; i++) { 
    $("ul").append("<li>" + i + "</li>"); 
} 

var $li = $("li"), 
    chunk = 5; 

console.log(chunk, $li); 

$li.slice(chunk).hide(); 

$("button").click(function() { 
    $li.filter(":hidden").slice(0, chunk).show(); 
}); 

HTML顯示按鈕

<ul></ul> 
<button>Show more</button> 

jQuery的RSS:

$(document).ready(function() { 
    $('#test').rssfeed('http://feeds.reuters.com/news/artsculture/', { 
    limit:100 
    }); 
}); 

RSS HTML:

<div id="test"></div> 

任何想法,我怎麼也得爲了只顯示前3或者說5種飼料和隱藏剩下的事情。並且在點擊後顯示每個3或5個飼料顯示更多按鈕 ...... ??

感謝

回答

1

有什麼東西在叫一個zRSSfeed.js選擇callback。這表明飼料在您的DOM中時的點,有點像完成狀態。有關更多信息,請參閱examplestackoverflow question請注意,您必須使用the latest version of zRSSfeed.js (1.2.0)才能正常工作。。因此,使用此回調選項,您可以通過JavaScript控制您的Feed。所以它看起來像這樣:

$('#test').rssfeed(feedURL, options , function (e) { 
    var $li = $("#test").find(".rssRow"), 
     chunk = 3; 

    //hide rows > 3 
    $li.slice(chunk).hide() 

    //insert button after ul 
    $("ul").after("<button>Show more</button>"); 

    //event handler for button 
    $("button").click(function() { 
     //get the elements hidden    
     var el = $li.filter(":hidden"); 
     //to hide show more for last click (there aren't any more elements 
     if (el.length <= chunk) { 
     $(this).hide(); 
     } 
     //show next 3 rows 
     el.slice(0, chunk).show(); 
    }); 

});

更新提琴:http://jsfiddle.net/HLCxV/7/

+0

這是一個了不起的答案。非常感謝@passionateCoder。你是一個拯救生命的人。再次感謝,夥伴。 –

+1

我編輯的答案,使顯示更符合邏輯的邏輯:) – krishgopinath

+0

非常感謝你這樣做。 –