javascript - 如何使用表格列作为 slider

标签 javascript jquery html css bootstrap-4

我想建立单页网站。将有一个表格作为主要内容。该表的第一列可以通过按钮切换。

我只想在滑动条上显示表格的第一列,而不是同时显示它们(表格和滑动条)。 通过点击按钮,表格的第一列应该被最小化。

befor toggle

after toggle

我怎样才能实现这个想法?我对前端概念完全陌生,每一个答案对我来说都很重要。

    <aside class="main-sidebar sidebar-dark-primary elevation-4">
        <div class="sidebar">
            <nav class="mt-2">
                <ul class="nav nav-pills nav-sidebar flex-column" 
                data-widget="treeview" role="menu"
                    data-accordion="false">
                    <div>
                        <li class="nav-item">
                            <a href="#" class="nav-link">
                                <i class="far fa-user"> </i>
                                <p>
                                    Adelfried
                                </p>
                            </a>
                        </li>
                    </div>
                    <div class="dropdown-divider"></div>
                    <li class="nav-item">
                        <a href="#" class="nav-link">
                            <i class="far fa-user"> </i>
                            <p>
                                Kalona
                            </p>
                        </a>
                    </li>
                    <div class="dropdown-divider"></div>
                    <li class="nav-item">
                        <a href="#" class="nav-link">
                            <i class="far fa-user"> </i>
                            <p>
                                Raynard
                            </p>
                        </a>
                    </li>
                    <div class="dropdown-divider"></div>
                    <li class="nav-item">
                        <a href="#" class="nav-link">
                            <i class="far fa-user"> </i>
                            <p>
                                Wesley
                            </p>
                        </a>
                    </li>
                    <div class="dropdown-divider"></div>
                    <li class="nav-item">
                        <a href="#" class="nav-link">
                            <i class="far fa-user"> </i>
                            <p>
                                Theobald
                            </p>
                        </a>
                    </li>
                    <div class="dropdown-divider"></div>
                </ul>
            </nav>
        </div>
    </aside>


        <div class="content" style="overflow: scroll; padding: 10px">
            <div class="container-fluid">
                <div class="row">
                    <div>
                        <table class="table table-striped table-bordered table-hover">
                            <thead>
                                <tr>
                                    <td>Name</td>
                                    <td>AAAAAAAAAAAAAA</td>
                                    <td>BBBBBBBBBBBBBB</td>
                                    <td>CCCCCCCCCCCCCC</td>
                                    <td>DDDDDDDDDDDDDD</td>
                                    <td>EEEEEEEEEEEEEE</td>
                                </tr>
                            </thead>
                            <tbody>
                                <tr>
                                    <td><i class="far fa-user"> </i>Adelfried</td>
                                    <td></td>
                                    <td></td>
                                    <td></td>
                                    <td></td>
                                    <td></td>
                                    <td></td>
                                </tr>
                                <tr>
                                    <td><i class="far fa-user"> </i>Kalona</td>
                                    <td></td>
                                    <td></td>
                                    <td></td>
                                    <td></td>
                                    <td></td>
                                    <td></td>
                                </tr>
                                <tr>
                                    <td><i class="far fa-user"> </i>Raynard</td>
                                    <td></td>
                                    <td></td>
                                    <td></td>
                                    <td></td>
                                    <td></td>
                                    <td></td>

                                </tr>
                                <tr>
                                    <td><i class="far fa-user"> </i>Wesley</td>
                                    <td></td>
                                    <td></td>
                                    <td></td>
                                    <td></td>
                                    <td></td>
                                    <td></td>
                                </tr>
                                <tr>
                                    <td><i class="far fa-user"> </i>Theobald</td>
                                    <td></td>
                                    <td></td>
                                    <td></td>
                                    <td></td>
                                    <td></td>
                                    <td></td>
                                </tr>
                            </tbody>
                        </table>
                    </div>
                </div>
            </div>
        </div>

最佳答案

如果您只想让您的第一列可折叠并具有不同的样式,您可以完全移除 slider 。这是一个关于如何折叠第一列并为其设置样式的工作基本示例:

var table = document.getElementById('usertable');

var toggleCollapsed = function(e) {
  if (table.classList.contains('collapsed')) {
    table.classList.remove('collapsed');
  } else {
    table.classList.add('collapsed');
  }
}

table.addEventListener('click', toggleCollapsed)
table td:first-child {
  background-color: black;
  color: white;
}
table td:first-child i {
  margin-right: 5px;
}
table.collapsed td:first-child {
  text-align:center;
}
table.collapsed td:first-child i {
  margin-right: 0;
}
table.collapsed td:first-child .username {
  display: none;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/all.min.css" rel="stylesheet"/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/>
<table id="usertable" class="table table-striped table-bordered table-hover">
    <thead>
        <tr>
          <td><span class="username">Name</span></td>
            <td>AAAAAAAAAAAAAA</td>
            <td>BBBBBBBBBBBBBB</td>
            <td>CCCCCCCCCCCCCC</td>
            <td>DDDDDDDDDDDDDD</td>
            <td>EEEEEEEEEEEEEE</td>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td><i class="far fa-user"> </i><span class="username">Adelfried</span></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td><i class="far fa-user"> </i><span class="username">Kalona</span></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td><i class="far fa-user"> </i><span class="username">Raynard</span></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>

        </tr>
        <tr>
            <td><i class="far fa-user"> </i><span class="username">Wesley</span></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td><i class="far fa-user"> </i><span class="username">Theobald</span></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>
</table>

关于javascript - 如何使用表格列作为 slider ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58361891/

相关文章:

javascript - 用javascript隐藏div类

javascript - jQuery 窗口滚动,向下滚动返回

javascript - 动态创建时 Bootstrap 崩溃不起作用

javascript - 展开详细信息/摘要时滚动到 anchor ?

javascript - 上传目录不发送带有文件的文件夹名称

servlet 中的 JavaScript 用于重定向页面。这是一个好习惯吗?

javascript - 将新的过滤器功能与现有分页合并并过滤 jQuery/Javascript

javascript - 如何使用 JQuery 只显示一个 div 的子元素?

javascript - 获取所选内容的 HTML

javascript - &lt;!--[if lt IE 9]> 不工作