(转) html中表table行循环滚动例子

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<meta http-equiv= "Content-Type"   content= "text/html;charset=gbk">
<HEAD>
<TITLE>滚动表格</TITLE>
<!--css样式是锁定表头不动的-->
<style type="text/css"> 
.table{
         width: 100%;
         left:30%;
         border-collapse:collapse; 
         border-spacing:0;
     }
     .fixedThead{
         display: block;
         width: 100%;
     }
     .scrollTbody{
         display: block;
         height: 316px;
         overflow: hidden;
         width: 100%;
     }
     .table td {
         width: 300px;
         border-bottom: #333 1px dashed;
         padding: 5px;
         background-color:#ddd;
     }
     .table th {
         width: 300px;
         border-bottom: #333 1px dashed;
         border-top: #333 1px dashed;
         padding: 5px;
         line-height:24px;
         background-color:#cfc;
     }
     .table tr{
         border-bottom: #333 1px dashed;
         line-height:24px;
         padding: 5px;
     }
     thead.fixedThead tr th:last-child {
         color:#FF0000;
     }
</style>
<SCRIPT LANGUAGE="JavaScript"> 
//先在table的最后增加一行,然后再把第一行中的数据填充到新增加的行中,最后再删除table的第一行
function change(table){
var row = table.insertRow(table.rows.length);//在table的最后增加一行,table.rows.length是表格的总行数
for(j=0;j<table.rows[0].cells.length;j++){//循环第一行的所有单元格的数据,让其加到最后新加的一行数据中(注意下标是从0开始的)
var cell = row.insertCell(j);//给新插入的行中添加单元格
cell.height = "24px";//一个单元格的高度,跟css样式中的line-height高度一样
cell.innerHTML = table.rows[0].cells[j].innerHTML;//设置新单元格的内容,这个根据需要,自己设置
}
table.deleteRow(0);//删除table的第一行
};
function tableInterval(){
var table = document.getElementById("test");//获得表格
change(table);//执行表格change函数,删除第一行,最后增加一行,类似行滚动
};
setInterval("tableInterval()",2000);//每隔2秒执行一次change函数,相当于table在向上滚动一样
</SCRIPT>
</HEAD>


<BODY align="center">
<H1 style="font-color:blur;">滚动表格</H1>
<table class="table" align="center">
<thead class="fixedThead" align="center">
<tr>
<th>姓名</th><th>性别</th><th>年龄</th>
</tr>
</thead>
<tbody  id="test" class="scrollTbody" align="center">
<tr>
<td>张三</td><td>男</td><td>18</td>
</tr>
<tr>
<td>李四</td><td>男</td><td>20</td>
</tr>
<tr>
<td>王昕</td><td>女</td><td>19</td>
</tr>
<tr>
<td>李佳</td><td>女</td><td>21</td>
</tr>
<tr>
<td>张三</td><td>男</td><td>18</td>
</tr>
<tr>
<td>李四</td><td>男</td><td>20</td>
</tr>
<tr>
<td>王昕</td><td>女</td><td>19</td>
</tr>
<tr>
<td>李佳</td><td>女</td><td>21</td>
</tr>
<tr>
<td>张三</td><td>男</td><td>18</td>
</tr>
<tr>
<td>李四</td><td>男</td><td>20</td>
</tr>
<tr>
<td>王昕</td><td>女</td><td>19</td>
</tr>
<tr>
<td>李佳</td><td>女</td><td>21</td>
</tr>
<tr>
<td>张三</td><td>男</td><td>18</td>
</tr>
<tr>
<td>李四</td><td>男</td><td>20</td>
</tr>
<tr>
<td>王昕</td><td>女</td><td>19</td>
</tr>
<tr>
<td>李佳</td><td>女</td><td>21</td>
</tr>
<tr>
<td>张三</td><td>男</td><td>18</td>
</tr>
<tr>
<td>李四</td><td>男</td><td>20</td>
</tr>
<tr>
<td>王昕</td><td>女</td><td>19</td>
</tr>
<tr>
<td>李佳</td><td>女</td><td>21</td>
</tr>
<tr>
<td>张三</td><td>男</td><td>18</td>
</tr>
<tr>
<td>李四</td><td>男</td><td>20</td>
</tr>
<tr>
<td>王昕</td><td>女</td><td>19</td>
</tr>
<tr>
<td>李佳</td><td>女</td><td>21</td>
</tr>
<tr>
<td>张三</td><td>男</td><td>18</td>
</tr>
<tr>
<td>李四</td><td>男</td><td>20</td>
</tr>
<tr>
<td>王昕</td><td>女</td><td>19</td>
</tr>
<tr>
<td>李佳</td><td>女</td><td>21</td>
</tr>
</tbody>
</table>
</BODY>
</HTML>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在 PyCharm 实现 table 循环滚动需要使用到 Qt 的 QTableView 控件和 QAbstractTableModel 模型。下面是一个简单的示例代码: ```python from PyQt5.QtCore import Qt, QModelIndex, pyqtSignal, pyqtSlot, QAbstractTableModel from PyQt5.QtWidgets import QApplication, QMainWindow, QTableView, QVBoxLayout, QWidget class TableModel(QAbstractTableModel): def __init__(self, data=None): super().__init__() self._data = data or [] def rowCount(self, parent=QModelIndex()): return len(self._data) def columnCount(self, parent=QModelIndex()): return len(self._data[0]) def data(self, index, role=Qt.DisplayRole): if role == Qt.DisplayRole: return self._data[index.row()][index.column()] def setData(self, index, value, role=Qt.EditRole): if role == Qt.EditRole: self._data[index.row()][index.column()] = value self.dataChanged.emit(index, index, [Qt.DisplayRole]) return True return False class MainWidget(QWidget): def __init__(self, data): super().__init__() self.table_model = TableModel(data) self.table_view = QTableView() self.table_view.setModel(self.table_model) layout = QVBoxLayout() layout.addWidget(self.table_view) self.setLayout(layout) self.current_row = 0 self.row_count = len(data) @pyqtSlot() def scroll_table(self): self.current_row = (self.current_row + 1) % self.row_count self.table_view.selectRow(self.current_row) class MainWindow(QMainWindow): def __init__(self, data): super().__init__() self.main_widget = MainWidget(data) self.setCentralWidget(self.main_widget) self.timer = QTimer() self.timer.timeout.connect(self.main_widget.scroll_table) self.timer.start(1000) if __name__ == '__main__': data = [['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']] app = QApplication([]) window = MainWindow(data) window.show() app.exec_() ``` 在这个示例,我们定义了一个 `TableModel` 类来处理表格数据,并将其设置为 `QTableView` 的模型。然后创建一个 `MainWidget` 类来包含 `QTableView` 控件,并定义一个 `scroll_table` 槽函数,用于定时滚动表格。最后,我们创建一个 `MainWindow` 类来包含 `MainWidget` 并启动定时器。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值