2017-09-08 96 views
-1

我使用無限的Ajax滾動,通過滾動Ajax加載頁面。現在我必須移動每個li元素中的一些元素。jQuery不工作在Ajax無限滾動

因此,jQuery可以在首頁加載時正常工作,但不能在由Ajax加載的頁面上工作。總之,它正在處理li元素,這是第一次通過頁面加載,但不處理由Ajax加載的li元素。

jQuery(document).ready(function() { 
    jQuery('.products.list li').each(function() { 
    var discount = jQuery(this).find('span.discount'); 
    var luckycash = jQuery(this).find('span.rewards__product-points'); 
    }); 

    jQuery(this).find('.price-box.price-final_price').append(discount); 
    jQuery(this).find('.price-box.price-final_price').append(luckycash); 
}); 

Ajax的無限滾動的JS是https://github.com/manishjoy/magento2-catalog-infinite-scroll視圖/前端/網絡/ JS/infinitescroll/jquery.ajaxscroll.min.js

+0

更多信息需要,更多的腳本是相關的,HTML,最好是如果u可以連接jsffidle – Se0ng11

+0

當你在你的問題執行的代碼? – Phil

+0

我不能讓小提琴這個我使用擴展無限滾動。我已經把這段代碼放在頁腳文件中。 – Magecode

回答

0

是的,那肯定是jQuery的事件委派問題: 更改功能提到的一樣下面。它應該工作。

jQuery(document).find('.products.list li').each(function() { // Changed function syntax 
    var discount = jQuery(this).find('span.discount'); 
    var luckycash = jQuery(this).find('span.rewards__product-points'); 
    }); 
+0

我同意代表團的事情......但是你的建議不會幫助。假設有10個'li'。那'.each()'循環定義了兩次變量10次......然後呢?他們擁有最後的jQuery元素......就這些。 OP沒有提供足夠的代碼供任何人回答,形成我的觀點。 –