[英]AJAX load more on scroll to bottom in <div>
I wanna load data from mysql using AJAX and PHP function.我想使用 AJAX 和 PHP ZC1C425268E68385D14AB5074C17A 从 mysql 加载数据。 Example:
例子:
#ajaxload { border: 1px solid #000; max-height: 400px; overflow-y:scroll; }
<?php //data from mysql... ?> <div id="ajaxload"> <ul> <li>data...</li> <li>data...</li> <li>data...</li> <li>data...</li> <li>data...</li> <li>data...</li> <li>data...</li> <li>data...</li> <li>data...</li> <li>data...</li> <li>data...</li> <li>data...</li> <li>data...</li> <li>data...</li> <li>data...</li> <li>data...</li> <li>data...</li> <li>data...</li> <li>data...</li> <li>data...</li> <li>data...</li> <li>data...</li> <li>data...</li> <li>data...</li> <li>data...</li> <li>Loading next data...</li> </ul> </div>
But I didn't find here (on stackoverflow) the specific example...Everything is just with full page scrolling, but I want only scrolling in <div>
for loading more data.但是我在这里(在stackoverflow上)没有找到具体的例子......一切都只是全页滚动,但我只想滚动
<div>
以加载更多数据。 Can you help me?你能帮助我吗?
Get the scrollHeight property from the underlying DOM element:从底层 DOM 元素获取scrollHeight属性:
$("#ajaxload").scrollTop($("#ajaxload").get(0).scrollHeight);
Vanilla JS approach, example . Vanilla JS 方法,示例。
<div id="ajaxload">
<ul>
<li>data...</li>
<li>data...</li>
<li>data...</li>
<li>data...</li>
<li>data...</li>
<li>data...</li>
<li>data...</li>
<li>data...</li>
<li>data...</li>
<li>data...</li>
<li>data...</li>
<li>data...</li>
<li>data...</li>
<li>data...</li>
<li>data...</li>
<li>data...</li>
<li>data...</li>
<li>data...</li>
<li>data...</li>
<li>data...</li>
<li>data...</li>
<li>data...</li>
<li>data...</li>
<li>data...</li>
<li>data...</li>
<li>Loading next data...</li>
</ul>
</div>
const el = document.querySelector('#ajaxload');
el.addEventListener('scroll', function(event) {
const element = event.target;
if (element.scrollHeight - element.scrollTop === element.clientHeight) {
console.log('make now your API call...');
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.