jquery写一个表格内容tr自动往上滚动且表头固定鼠标悬浮到表格停止滚动

时间: 2023-08-23 08:05:42 浏览: 50
以下是一个实现表格内容tr自动往上滚动且表头固定,鼠标悬浮到表格停止滚动的jQuery代码: HTML代码: ```html <div class="table-container"> <table> <thead> <tr> <th>列1</th> <th>列2</th> <th>列3</th> </tr> </thead> <tbody> <tr> <td>内容1-1</td> <td>内容1-2</td> <td>内容1-3</td> </tr> <tr> <td>内容2-1</td> <td>内容2-2</td> <td>内容2-3</td> </tr> <tr> <td>内容3-1</td> <td>内容3-2</td> <td>内容3-3</td> </tr> <!-- 其他行省略 --> </tbody> </table> </div> ``` CSS代码: ```css .table-container { height: 300px; overflow: auto; } th { position: sticky; top: 0; background-color: #fff; } ``` jQuery代码: ```javascript (function($) { $(function() { var table = $('.table-container table'); var tbody = table.find('tbody'); var trs = tbody.find('tr'); var trHeight = trs.eq(0).outerHeight(); // 获取每一行的高度 var delay = 3000; // 滚动间隔时间,单位毫秒 var timer = null; var stopScroll = false; // 鼠标悬浮时停止滚动 table.on('mouseenter', function() { stopScroll = true; }).on('mouseleave', function() { stopScroll = false; }); function scroll() { if (stopScroll) { // 如果鼠标悬浮在表格上,则不进行滚动 return; } var firstTr = trs.eq(0); var lastTr = trs.eq(trs.length - 1); tbody.append(firstTr); // 将第一行移动到最后一行 // 如果最后一行已经到达表格顶部,则重置滚动位置 var scrollTop = table.scrollTop(); if (lastTr.position().top + trHeight <= table.height() - scrollTop) { table.scrollTop(0); } // 继续滚动 timer = setTimeout(scroll, delay); } // 开始滚动 timer = setTimeout(scroll, delay); }); })(jQuery); ``` 解释:首先,我们在HTML中创建了一个包含表格的容器,设置了容器的高度和overflow属性,使得表格内容超出容器高度时可以自动出现滚动条。然后,在CSS中设置了表头的样式,使其固定在顶部。最后,在jQuery中实现了滚动功能和停止滚动功能。具体实现思路是:首先获取每一行的高度和滚动间隔时间,然后定时器每隔一段时间将第一行移动到最后一行,如果最后一行已经到达表格顶部,则重置滚动位置。同时,如果鼠标悬浮在表格上,则停止滚动。

相关推荐

最新推荐

recommend-type

jQuery实现列表自动循环滚动鼠标悬停时停止滚动

需要在页面中一个小的区域循环滚动展示新闻并且鼠标悬停时停止滚动并提示,离开后,继续滚动,具体实现如下,喜欢的朋友可以参考下
recommend-type

实例讲解DataTables固定表格宽度(设置横向滚动条)

下面小编就为大家带来一篇实例讲解DataTables固定表格宽度(设置横向滚动条)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
recommend-type

JQuery 动态生成Table表格实例代码

JQuery动态生成Table表格 主要用到了JQuery中的append和appendto的方法,具体代码如下: &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt; &lt;html&gt;...
recommend-type

jQuery实现冻结表格行和列

本文给大家分享的是前些日子做的项目中的一个客户的特殊要求,很少遇到,查询了好久的度娘,才算找到解决方案,这里分享给大家,有需要的小伙伴可以参考下。
recommend-type

jquery miniui 教程 表格控件 合并单元格应用

表格:合并单元格 参考示例:合并单元格 调用方法:margeCells。如下代码: 代码如下: grid.on(“load”, onLoad); function onLoad(e) { var grid = e.sender; var marges = [ { rowIndex: 1, columnIndex: 0, ...
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

list根据id查询pid 然后依次获取到所有的子节点数据

可以使用递归的方式来实现根据id查询pid并获取所有子节点数据。具体实现可以参考以下代码: ``` def get_children_nodes(nodes, parent_id): children = [] for node in nodes: if node['pid'] == parent_id: node['children'] = get_children_nodes(nodes, node['id']) children.append(node) return children # 测试数
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。