javascript - 将 'Reveal All' 按钮替换为 'Reveal Less' onClick?

标签 javascript jquery html toggle

我当前正在表格上使用“全部显示”按钮来显示所有表格条目:

http://jsfiddle.net/SCpgC/

但是,我想知道,有没有办法可以在单击时将“全部显示”切换为显示“较少显示”,以便用户可以返回到之前的 View ?

这是我当前使用的 JavaScript:

var numShown = 2; // Initial rows shown & index

    $(document).ready(function() {
        // Hide rows and add clickable div

        $('table').find('tr:gt(' + (numShown - 1) + ')').hide().end().after('<div class="more">Reveal All</div>');

        $('.more').click(function() {
            var numRows = $(this).prev().find('tr').show();
            $(this).remove();
        })
    });

非常感谢您的指点:-)

最佳答案

这将是双向的...如果显示全部,则显示 div,如果显示较少,则隐藏 div

试试这个

working fiddle here

$('.more').click(function() {
    if ($(this).hasClass("show")) {
        var numRows = $(this).prev().find('tr').show();
        $(this).text('Reveal Less');
        $(this).removeClass('show').addClass('hide');
    }
    else {
        $(this).prev().find('tr:gt(' + (numShown - 1) + ')').hide();
        $(this).removeClass('hide').addClass('show');
        $(this).text('Reveal All');
    }
});

并使用一些效果fadeIn()fadeOut()

fiddel with effect

关于javascript - 将 'Reveal All' 按钮替换为 'Reveal Less' onClick?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15611585/

相关文章:

javascript - 使模态响应

javascript - 在数据表上显示列的总和(总计)并导出到 Excel

javascript - 将类添加到返回意外结果的元素

javascript - React Router 子渲染问题

html - 为什么在 Chrome 51 中查看的 SVG 无法正确定位并在文本后添加间隙?

html - 标题和边框 HTML CSS

javascript - 使用 forEach 比较两个数组并根据条件添加不同的 html 元素

由于没有弱引用而导致的 JavaScript 问题

jquery - 取消之前的ajax请求jquery

javascript - Bootstrap 动态显示 PopOver