【发布时间】:2016-04-02 11:25:23
【问题描述】:
我遇到了另一个 jQuery 问题。好吧,我从我的代码开始在这里理解我的问题:
<script type="text/javascript">
jQuery(document).ready(function() {
var current = <?php echo ($_GET['page']!='') ? $_GET['page'] : 1; ?>;
var idp;
$(window).scroll(function(e){
if($(window).scrollTop() + $(window).height() >= $(document).height()) {
current=current+1;
if(current<=1)
{
idp = '';
}
else
{
idp = '?page='+current;
}
loadMoreContent(idp);
history.pushState("state", "title: "+current, "index.php"+idp);
e.preventDefault();
}
if($(window).scrollTop() == 0) {
current=((current-1)<=0) ? 1 : current-1;
if(current<=1)
{
idp = '';
}
else
{
idp = '?page='+current;
}
loadMoreContent(idp);
history.pushState("state", "title: "+current, "index.php"+idp);
e.preventDefault();
}
});
window.onpopstate = function(event) {
if(current<=1)
{
idp = '';
}
else
{
idp = '?page='+current;
}
loadMoreContent(idp);
history.pushState("state", "title: "+current, "index.php"+idp);
};
function loadMoreContent(position) {
$('#loader').fadeIn('slow', function() {
$.get("index.php"+position+" #annonceis", function(data){
var dato = $(data).find("#annonceis");
$("#annonceis").html(dato);
$('#loader').fadeOut('slow', function() {
$(window).scrollTop(60);
});
});
});
}
});
</script>
我的问题是基于无限滚动,但我使用 html() 函数替换了名为 annonceis 的 div 中的内容,而不是“追加”。
这个想法是,当我滚动到页面底部时,我会得到名为 index.php?page=1 2 3 的新页面的内容。然后用我的新内容替换 de div annonceis 中的旧内容使用 jQuery 获取,但是当我滚动到底部时,当当前页面为 index.php?page=2 时,我获取下一页的内容,通常当我滚动到底部时,我必须获取 index.php?page=3 的内容,但是在这里我得到 index.php?page=3 的内容并立即 index.php?page=4 所以页面显示 index.php?page=4.
主要思想是滚动到底部并获取下一页的内容而不是分页,但它必须注意用于 SEO 目的的 history.pushState 和 Google 建议参见 http://scrollsample.appspot.com/items 和 https://googlewebmastercentral.blogspot.com/2014/02/infinite-scroll-search-friendly.html。
非常感谢您。
【问题讨论】:
标签: php jquery infinite-scroll