【问题标题】:Load more table rows on scroll down向下滚动时加载更多表格行
【发布时间】:2018-03-13 04:10:21
【问题描述】:

大家好!

我一直在网上寻找如何在向下滚动到底部的表格中加载更多行,但不幸的是,我只看到了 divs 教程。谁能告诉我如何执行这个?或示例代码或教程?

就像这样,我将运行一个 SELECT 查询并将 html 表中的显示限制为 500 条记录,但是当用户向下滚动到表的底部时,该记录将在表中加载另外 500 条记录。这可能吗?

【问题讨论】:

  • 你问的不是微不足道的......不要做对,包括兑现一些结果......是的,它可能被称为append到桌子上,div之间的区别这是次要的。

标签: javascript php ajax


【解决方案1】:

$('#container').on('scroll', function() {
   if($(this).scrollTop() + $(this).innerHeight() >= $(this)[0].scrollHeight) {
       alert('end reached');
   }
});
<!DOCTYPE html>
<html>
<head>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
	<style type="text/css">
		#container{
			overflow: scroll;
			max-height: 500px; 
			border: 2px solid;
		}
	</style>
</head>
<body>
<div  id="container">
<table>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
	<tr>
		<td>hi</td>
		<td>hello</td>
	</tr>
</table>
</div>
</body>
</html>

上面的代码将检测滚动何时到达表格的末尾。现在您可以将alert() 替换为$.post()$.ajax() 以从数据库中获取更多结果并append 表中的响应

【讨论】:

    【解决方案2】:

    $(document).on('click','#load',function(){
      $('#loading').append('<tr><td>3:1</td><td>3:2</td><td>3:3</td></tr>');
    })
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <table id="loading">
    <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>
    </table>
    <input type="button" value="click to append" id="load"/>

    Zainul 描述了创建事件处理程序。

    这个关于追加到表格的答案。

    合并这两个答案。

    【讨论】:

    • 是否可以使用 append 并且数据来自不同的 php 页面?因为我要加载另外 500 条记录,而不仅仅是一行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 1970-01-01
    • 2013-07-23
    • 1970-01-01
    • 2017-12-05
    相关资源
    最近更新 更多