javascript
  • jquery
  • ajax
  • loops
  • 2012-08-27 39 views 0 likes 
    0

    我需要每X個帖子運行此函數,並且頁面向下滾動頁面時使用AJAX加載新文章。我希望使用下面的函數使用模運算符for循環,但它似乎並沒有達到我所期望的。任何想法如何做到這一點?將元素添加到每X個div的頁面

    $(document).ready(function($) { 
    function adTileLoop(){ 
         var adTile = "<div class='new-box' id='article-tile'></div>"; 
         var adLoc = 11; 
         var p = $('#article-tile'); 
         var tile = $('#article-tile:nth-child('+adLoc+')'); 
         for(var i = 0; i <= p.length; i++){ 
             if(i % adLoc == 0){ 
              $(tile).after(adTile); 
             } 
         } 
    } 
    $('#content').live(adTileLoop); 
    } 
    
    +0

    ajax成功後使用它 – Ashirvad

    +0

    這聽起來像你正在試圖創造一個無限的模擬效果,對吧?這意味着當用戶滾動瀏覽某個帖子時,您會加載更多內容,並且只會繼續滾動。 –

    +0

    這聽起來不錯嗎?或者我完全沒有意義? –

    回答

    2

    首先,您需要小心保持ID的唯一性。事實上,你有$("#article-tile"),你試圖選擇多個是錯誤的。 ID必須是唯一的。

    這裏有一個更好的方式來運行在使用jQuery一堆的div:

    $("div").each(function() { 
        console.log($(this)); 
    }); 
    

    然後,您可以改善選擇器選擇只有當你在你的問題做nth-children

    ​​例如將獲取頁面上的所有其他div。

    要特別檢索關於您帖子的信息,請使用特定於每個帖子的選擇器,如:$(".post:nth-child(2)")

    正如Ashirvad在評論中所建議的那樣,您可以在成功調用ajax之後運行此操作,並且您將能夠檢索有關您的頁面的更新信息。

    +0

    我會補充說,如果你不想爲每個div做任何事情,或者如果你正在使用HTML5的章節或段落,無論如何:使用一個類來標識哪些元素應該搜索'$('。classname:n-child (x)')' – Dameo

    +0

    @Dameo我已經排除了,因爲我認爲這將是顯而易見的;我已經添加了,謝謝。 – mash

    相關問題