0

この例のように、 show more ボタンまたは div をjquery rss に追加しようとしていました。問題は、rss div を div ラッパーでラップして、強制的に数行だけ表示しようと何度も試みたことですが、うまくいきませんでした...

だから私が望むのは、上位3つだけを除いてすべてのRSSフィードを非表示にすることだけです. さらに多くのフィード スレッドを表示したい場合は、[もっと表示] ボタンをクリックするだけです...

これは、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>

jQueryRSS:

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

RSS HTML:

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

最初の 3 つだけを表示する、または 5 つのフィードを表示して残りを非表示にするために、どのようにすればよいか考えてみてください。そして、もっと見るボタンをクリックした後、3つまたは5つのフィードをそれぞれ表示します...??

ありがとう

4

1 に答える 1

1

callbackzRSSfeed.jsにオプションというものがあります。これは、フィードが DOM にある時点を示します。完了状態のようなものです。詳細については、例スタックオーバーフローの質問を参照してください。これが機能するには、最新バージョンの zRSSfeed.js (1.2.0)を使用している必要があることに注意してください。. したがって、このコールバック オプションを使用すると、JavaScript を介してフィードを制御できます。したがって、次のようになります。

$('#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/

于 2013-06-05T15:44:30.923 に答える