HTML表格自动排序

jquery-tablesort

在这里插入图片描述

jquery-tablesort下载地址

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>table sort</title>
    <style type="text/css">
        * {
			margin: 0;
			padding: 0;
		}

		body {
			font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
			color: #4f6b72;
			background: #E6EAE9;
		}

		#container {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 100vw;
			margin: 0 auto;
		}

		table {
			width: 90%;
			max-width: 500px;
			font-size: 18px;
			text-align: center;
            margin-top: 50px;
		}

		th {
			color: white;
			font-size: 20px;
			border-right: 1px solid #C1DAD7;
			border-bottom: 1px solid #C1DAD7;
			border-top: 1px solid #C1DAD7;
			text-transform: uppercase;
			background:#b6b6f0;;
		}

		tr{
			height: 45px;
		}

		tr:nth-child(odd){
			background: #e6e6fa;
		}

		tr:nth-child(even){
			background:#fff0f5;
		}

		td {
			border-right: 1px solid #C1DAD7;
			border-bottom: 1px solid #C1DAD7;
			color: #4f6b72;
		}
    </style>
</head>

<body>
    <div id="container">
        <table id="mytable" class="tablesorter">
            <thead>
                <tr>
                    <th class="number">ID</th>
                    <th>姓名</th>
                    <th class="number">年龄</th>
                    <th>手机号</th>
                </tr>
            </thead>
            <tbody>
                <tr><td>1</td><td>Colin</td><td>83</td><td>18071495984</td></tr>
                <tr><td>2</td><td>Van</td><td>83</td><td>13493101185</td></tr>
                <tr><td>3</td><td>Bryson</td><td>86</td><td>13968022555</td></tr>
                <tr><td>4</td><td>Buzz</td><td>35</td><td>13396955543</td></tr>
                <tr><td>5</td><td>Eve</td><td>41</td><td>13162916570</td></tr>
                <tr><td>6</td><td>May</td><td>49</td><td>13827627303</td></tr>
                <tr><td>7</td><td>Andrew</td><td>1</td><td>18972447915</td></tr>
                <tr><td>8</td><td>Barry</td><td>81</td><td>13821180076</td></tr>
                <tr><td>9</td><td>Zona</td><td>94</td><td>18203785299</td></tr>
                <tr><td>10</td><td>Buddy</td><td>36</td><td>13820188549</td></tr>
                <tr><td>11</td><td>Eve</td><td>32</td><td>13136522747</td></tr>
                <tr><td>12</td><td>Buddy</td><td>19</td><td>18988837209</td></tr>
                <tr><td>13</td><td>Kevin</td><td>24</td><td>13369797796</td></tr>
                <tr><td>14</td><td>Zora</td><td>58</td><td>13275207716</td></tr>
                <tr><td>15</td><td>Hailey</td><td>16</td><td>15974349897</td></tr>
                <tr><td>16</td><td>Bahar</td><td>95</td><td>15288586467</td></tr>
                <tr><td>17</td><td>Bahar</td><td>60</td><td>13068296336</td></tr>
                <tr><td>18</td><td>Joyce</td><td>71</td><td>15969630424</td></tr>
                <tr><td>19</td><td>Angelia</td><td>16</td><td>18279554860</td></tr>
                <tr><td>20</td><td>Lance</td><td>27</td><td>15842451834</td></tr>                
            </tbody>
        </table>
    </div>
</body>
</html>
<script type="text/javascript" src="/js/jquery-3.4.1.min.js"></script>
<script type="text/javascript" src="/js/jquery.tablesort.min.js"></script>
<script type="text/javascript">
    $(function () {
        $("#mytable").tablesort();
        $('thead th.number').data('sortBy', function(th, td, sorter) {
			return parseInt(td.text(), 10);
		});
    });
</script>

tablesort默认是使用字符串排序,可以通过将某列转换为具体的类型来实现自定义排序。

例如,上面例子中将指定的列转换为int类型再进行排序。

注意:必须包含THEAD和TBODY,否则表头也会参与排序。

tablesorter

tablesorter文档
tablesorter下载
tablesorter示例

<!DOCTYPE html>
<html>

<head>
	<meta charset="utf-8" />
	<title>table sort</title>
	<style type="text/css">
		* {
			margin: 0;
			padding: 0;
		}

		body {
			font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
			color: #4f6b72;
			background: #E6EAE9;
		}

		#container {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 100vw;
			margin: 0 auto;
		}

		table {
			width: 90%;
			max-width: 500px;
			font-size: 18px;
			text-align: center;
			margin-top: 50px;
		}

		th {
			color: white;
			font-size: 20px;
			border-right: 1px solid #C1DAD7;
			border-bottom: 1px solid #C1DAD7;
			border-top: 1px solid #C1DAD7;
			text-transform: uppercase;
			background: #b6b6f0;
			;
		}

		tr {
			height: 45px;
		}

		tr:nth-child(odd) {
			background: #e6e6fa;
		}

		tr:nth-child(even) {
			background: #fff0f5;
		}

		td {
			border-right: 1px solid #C1DAD7;
			border-bottom: 1px solid #C1DAD7;
			color: #4f6b72;
		}
	</style>
</head>

<body>
	<div id="container">
		<table id="mytable" class="tablesorter">
			<thead>
				<tr>
					<th class="number">ID</th>
					<th>姓名</th>
					<th class="number">年龄</th>
					<th>手机号</th>
				</tr>
			</thead>
			<tbody>
				<tr>
					<td>1</td>
					<td>Colin</td>
					<td>83</td>
					<td>18071495984</td>
				</tr>
				<tr>
					<td>2</td>
					<td>Van</td>
					<td>83</td>
					<td>13493101185</td>
				</tr>
				<tr>
					<td>3</td>
					<td>Bryson</td>
					<td>86</td>
					<td>13968022555</td>
				</tr>
				<tr>
					<td>4</td>
					<td>Buzz</td>
					<td>35</td>
					<td>13396955543</td>
				</tr>
				<tr>
					<td>5</td>
					<td>Eve</td>
					<td>41</td>
					<td>13162916570</td>
				</tr>
				<tr>
					<td>6</td>
					<td>May</td>
					<td>49</td>
					<td>13827627303</td>
				</tr>
				<tr>
					<td>7</td>
					<td>Andrew</td>
					<td>1</td>
					<td>18972447915</td>
				</tr>
				<tr>
					<td>8</td>
					<td>Barry</td>
					<td>81</td>
					<td>13821180076</td>
				</tr>
				<tr>
					<td>9</td>
					<td>Zona</td>
					<td>94</td>
					<td>18203785299</td>
				</tr>
				<tr>
					<td>10</td>
					<td>Buddy</td>
					<td>36</td>
					<td>13820188549</td>
				</tr>
				<tr>
					<td>11</td>
					<td>Eve</td>
					<td>32</td>
					<td>13136522747</td>
				</tr>
				<tr>
					<td>12</td>
					<td>Buddy</td>
					<td>19</td>
					<td>18988837209</td>
				</tr>
				<tr>
					<td>13</td>
					<td>Kevin</td>
					<td>24</td>
					<td>13369797796</td>
				</tr>
				<tr>
					<td>14</td>
					<td>Zora</td>
					<td>58</td>
					<td>13275207716</td>
				</tr>
				<tr>
					<td>15</td>
					<td>Hailey</td>
					<td>16</td>
					<td>15974349897</td>
				</tr>
				<tr>
					<td>16</td>
					<td>Bahar</td>
					<td>95</td>
					<td>15288586467</td>
				</tr>
				<tr>
					<td>17</td>
					<td>Bahar</td>
					<td>60</td>
					<td>13068296336</td>
				</tr>
				<tr>
					<td>18</td>
					<td>Joyce</td>
					<td>71</td>
					<td>15969630424</td>
				</tr>
				<tr>
					<td>19</td>
					<td>Angelia</td>
					<td>16</td>
					<td>18279554860</td>
				</tr>
				<tr>
					<td>20</td>
					<td>Lance</td>
					<td>27</td>
					<td>15842451834</td>
				</tr>
			</tbody>
		</table>
	</div>
</body>

</html>
<script type="text/javascript" src="/js/jquery-3.4.1.min.js"></script>
<script type="text/javascript" src="/js/jquery.tablesorter.min.js"></script>
<script type="text/javascript">
	$(function () {
		$("#mytable").tablesorter();
	});
</script>

tablesorter可以看作是jquery-tablesort的升级版,最重要的就是可以自动探测数据类型。

相关资源下载

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现表格自动轮播可以使用 jQuery 插件,例如 DataTables 或 SlickGrid。 DataTables: 1. 引入 DataTables 的 CSS 和 JavaScript 文件。 2. 在 HTML 中创建表格,并为其添加 id 属性。 3. 在 JavaScript 中使用 DataTables 初始化表格,并设置自动轮播选项。 示例代码如下: HTML: ``` <table id="myTable"> <thead> <tr> <th>Header 1</th> <th>Header 2</th> <th>Header 3</th> </tr> </thead> <tbody> <tr> <td>Row 1, Column 1</td> <td>Row 1, Column 2</td> <td>Row 1, Column 3</td> </tr> <tr> <td>Row 2, Column 1</td> <td>Row 2, Column 2</td> <td>Row 2, Column 3</td> </tr> <tr> <td>Row 3, Column 1</td> <td>Row 3, Column 2</td> <td>Row 3, Column 3</td> </tr> </tbody> </table> ``` JavaScript: ``` $(document).ready(function() { $('#myTable').DataTable({ "autoWidth": false, // 禁用自动列宽调整 "scrollX": true, // 启用水平滚动 "scrollCollapse": true, // 允许表格高度小于容器高度时自动收缩 "paging": false, // 禁用分页 "ordering": false, // 禁用排序 "info": false, // 禁用信息展示 "searching": false, // 禁用搜索 "scrollY": "200px", // 设置表格高度 "scrollCollapse": true, // 允许表格高度小于容器高度时自动收缩 "autoScroll": true, // 启用自动滚动 "scrollXInner": "110%", // 设置水平滚动区域大小 "scrollYInner": false // 禁用垂直滚动 }); }); ``` SlickGrid: 1. 引入 SlickGrid 的 CSS 和 JavaScript 文件。 2. 在 HTML 中创建表格,并为其添加 id 属性。 3. 在 JavaScript 中使用 SlickGrid 初始化表格,并设置自动轮播选项。 示例代码如下: HTML: ``` <div id="myGrid" style="width: 100%; height: 200px;"></div> ``` JavaScript: ``` var columns = [ {id: "id", name: "ID", field: "id"}, {id: "name", name: "Name", field: "name"}, {id: "value", name: "Value", field: "value"} ]; var data = [ {id: 1, name: "Name 1", value: "Value 1"}, {id: 2, name: "Name 2", value: "Value 2"}, {id: 3, name: "Name 3", value: "Value 3"} ]; var options = { enableCellNavigation: true, // 启用单元格导航 enableColumnReorder: false, // 禁用列重排序 forceFitColumns: true, // 强制适应容器宽度 autoHeight: true, // 自动适应容器高度 autoEdit: false, // 禁用自动编辑 editable: false, // 禁用编辑 rowHeight: 30, // 设置行高 enableAddRow: false, // 禁用添加行 enableCellRangeSelection: false, // 禁用单元格范围选择 enableTextSelectionOnCells: false, // 禁用单元格文本选择 enableAsyncPostRender: true, // 启用异步后处理 asyncPostRenderDelay: 0, // 异步后处理延迟时间 syncColumnCellResize: true, // 同步列和单元格大小调整 autoScroll: true, // 启用自动滚动 autoScrollSpeed: 50, // 自动滚动速度 autoScrollInterval: 20, // 自动滚动间隔时间 autoScrollMargin: 50 // 自动滚动边缘距离 }; var grid = new Slick.Grid("#myGrid", data, columns, options); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值