2

我的标题所说的正是我现在遇到的问题。

我正在检查一个 div 打印了多少个链接 php,如果有超过 10 个链接,我想隐藏它们并添加一个按钮,上面写着阅读更多,然后它会显示其余的链接。

        $(document).ready(function() {

     var newsRss = $('#rssNews >li').length;
     var driftRss = $('#rssDrift >li').length;

        $(window).load(function() {
            if(newsRss > 10)
     alert(newsRss);

});

    });

这就是我对代码的了解。

我很高兴听到你们可以帮助我的每一个提示和技巧!

最好的祝福,

查理

4

3 回答 3

2

你可以做一些相当简单的事情,如下所示:

$(function() {
    $("#rssNews, #rssDrift").each(function() {
        if($(this).children(":gt(4)").hide().length)
            $(this).append("<li class='showAll'>Show All</li>");
    });
    $(".showAll").live('click', function() {
        $(this).siblings().slideDown();
        $(this).remove();
    });
});​

这会隐藏索引 4 上的所有子级,这意味着它一次只显示 5 个。如果它隐藏了任何内容,它会添加一个“全部显示”链接...单击它会显示隐藏的链接并删除“全部显示”链接本身。

你可以在这里测试它是如何工作的:http: //jsfiddle.net/hxrde/

于 2010-04-15T16:14:39.307 回答
1
$('#rssNews >li').slice(10).addClass("hidemore").hide();
if ($(".hidemore").length > 0) {
  //add your button to the dom here, 
  //and in its click event put:
  // $(".hidemore").show();
}
于 2010-04-15T16:14:07.760 回答
1

查理,

只需将 ":gt(4)" 添加到兄弟姐妹的 hideAll 函数中:

 $(".hideAll").live('click', function() {
    $(this).siblings(":gt(4)").slideUp();
    $(this).parent(0).append("<a class='showAll'>Show all</a>");
    $(this).remove();
});

并感谢您的代码。效果很好!

于 2010-09-16T14:49:07.940 回答