AJAX загрузить больше при прокрутке вниз в <div> - PullRequest
0 голосов
/ 04 августа 2020

Я хочу загрузить данные из mysql с помощью функций AJAX и PHP. Пример:

#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>

Но я не нашел здесь (в stackoverflow) конкретный пример c ... Все просто с полной прокруткой страницы, но я хочу только прокрутите <div> для загрузки дополнительных данных. Вы можете мне помочь?

Ответы [ 2 ]

0 голосов
/ 04 августа 2020

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...');
    }
});
0 голосов
/ 04 августа 2020

Получить свойство scrollHeight из базового элемента DOM:

$("#ajaxload").scrollTop($("#ajaxload").get(0).scrollHeight);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...