javascript - 仅当元素超过 3 个时才显示更多内容按钮,否则不显示任何内容。使用jquery的:lt :gt

标签 javascript jquery html

我找到了一个几乎可以满足我要求的代码。但我不知道如何正确修改它来调整它的功能。

我想做的事情:

  1. 如果列表项超过 3 个,则隐藏其余项目并显示“显示全部”按钮,单击该按钮即可显示其余项目。

  2. 如果项目少于 2 个,则隐藏“显示全部”按钮。

  3. 可选 - 在显示项目时添加漂亮的效果。

HTML

<span class="show_button">Show all</span>
<ul class="test">
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
</ul>

Javascript

$('ul.test li:gt(2)').hide();
if ( $('ul.test li:lt(2)') ) {
    $('.show_button').css('display', 'none');
}
else {
    $('.show_button').css('display', 'block');
}
$('.show_button').click(function() {
    $('ul.test li:gt(2)').show();
});

不幸的是,如果有超过 3 个项目可用,此代码不会显示“显示更多”按钮,而只是将其隐藏。

最佳答案

$('ul.test li:gt(2)').hide();

$('.show_button').click(function () {
    $('ul.test li:gt(2)').toggle('slide');
});

http://jsfiddle.net/BjG5M/

关于javascript - 仅当元素超过 3 个时才显示更多内容按钮,否则不显示任何内容。使用jquery的:lt :gt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16771604/

相关文章:

javascript - 如何在淡出循环中显示最后一个DIV Jquery

javascript - CKEDITOR 脚本何时加载并准备好使用?

javascript - 如何根据元素位置调用函数?

javascript - 如何使用 jquery(在同一域中)更改父 iframe 的 css?

javascript - 用 chrome 去除触摸屏上的蓝色光标

javascript - Jquery Countdowntimer 显示错误的多个跨度的相同计时器

html - 如何让伪元素的背景图片拉伸(stretch)到适合宽度?

javascript - "Serverless-offline: route not found."在离线模式下运行 AWS Lambda 函数

javascript - 警报 javascript 中的换行符

javascript - 将生成的 URL 中的 + 替换为 %20