簡體   English   中英

滾動到底部時通過ajax加載內容

[英]load content by ajax when scroll reach to bottom

我對此非常厭倦,直到現在我都沒有找到解決方案。這是我的代碼

$("#submit").click(function(e){
    e.preventDefault()  
    var loading = "<img src='/zojfa/images/loading.gif' alt='Loading...' />";
    var scrolltop=$('#scrollbox').attr('scrollTop');
    var scrollheight=$('#scrollbox').attr('scrollHeight');
    var windowheight=$('#scrollbox').attr('clientHeight');
    var post = $(this).attr("name") + "=" + $(this).val();
    var form_data = $('#search_form').serialize() + "&" + post;

    var scrolloffset=20;
    $('#search').html(loading);
    $.post("dosearch.php",form_data,function(newitems) {
        $('#content').append(newitems);
            });
    $('#scrollbox').scroll(function(){
    if(scrolltop>=(scrollheight-(windowheight+scrolloffset))){
        form_data = form_data + "&size=" + $("#content > div").size();
    setTimeout($.post("dosearch.php",form_data,function(newitems) {
        $('#content').append(newitems);
            }),5000);
    }
    });     
        });

});

當我發布表單數據時,此表單數據將serialize()並發送到dosearch.php。

當我單擊“提交”按鈕時,該函數運行良好,函數將執行並給我結果集,即此腳本的第11行。

然后我將聽滾動事件,當滾動事件發生時,我將對內容div中的div進行計數,以了解到目前為止我已加載了多少個div,並將此數字發送給dosearch以獲取更多結果

從表中選擇某項,其中someid =另一些id LIMIT $ number(我是從div計數中得到的..還有另一種解決方案嗎?也許是為divs設置了id?這個解決方案我用的夠好嗎?),6

現在我的問題在哪里。我通過firebug檢查發布的數據

當我到達此div的底部時,許多ajax請求啟動。並在firebug控制台中顯示許多具有不同值的發布大小

size=6
size=12
size=12

我想過settimeout也許可以修復我的腳本,但在此方面沒有獲得成功。

我感謝您的幫助。

此鏈接可以幫助您獲得結果。 點擊此處進行演示

這是如何工作的

AJAX 在滾動到底部時加載更多<div></div><div id="text_translate"><p>我想使用 AJAX 和 PHP ZC1C425268E68385D14AB5074C17A 從 mysql 加載數據。 例子: </p><p></p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"><div class="snippet-code"><pre class="snippet-code-css lang-css prettyprint-override"> #ajaxload { border: 1px solid #000; max-height: 400px; overflow-y:scroll; }</pre><pre class="snippet-code-html lang-html prettyprint-override"> &lt;?php //data from mysql... ?&gt; &lt;div id="ajaxload"&gt; &lt;ul&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;Loading next data...&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt;</pre></div></div><p></p><p> 但是我在這里(在stackoverflow上)沒有找到具體的例子......一切都只是全頁滾動,但我只想滾動&lt;div&gt;以加載更多數據。 你能幫助我嗎?</p></div>

[英]AJAX load more on scroll to bottom in <div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 到達容器底部時的AJAX負載 jQuery 滾動到頁面底部時加載內容 滾動到Ajax加載項的底部 添加新內容后滾動到頁面底部(不涉及AJAX) 當頁面底部滾動時,jQuery將加載更多內容 當用戶到達底部時,Javascript滾動將動態內容加載到頁面中 AJAX 在滾動到底部時加載更多<div></div><div id="text_translate"><p>我想使用 AJAX 和 PHP ZC1C425268E68385D14AB5074C17A 從 mysql 加載數據。 例子: </p><p></p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"><div class="snippet-code"><pre class="snippet-code-css lang-css prettyprint-override"> #ajaxload { border: 1px solid #000; max-height: 400px; overflow-y:scroll; }</pre><pre class="snippet-code-html lang-html prettyprint-override"> &lt;?php //data from mysql... ?&gt; &lt;div id="ajaxload"&gt; &lt;ul&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;data...&lt;/li&gt; &lt;li&gt;Loading next data...&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt;</pre></div></div><p></p><p> 但是我在這里(在stackoverflow上)沒有找到具體的例子......一切都只是全頁滾動,但我只想滾動&lt;div&gt;以加載更多數據。 你能幫助我嗎?</p></div> 如何通過CSS滾動到達底部時隱藏DIV? 用戶到達底部時如何加載新頁面/ URL 當滾動到頁面的底部100px時,jQuery加載內容,多個事件被觸發
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM