JQuery 和 PHP 无限滚动帮助

发布于 2024-11-09 07:28:04 字数 1146 浏览 5 评论 0原文

我的无限滚动有问题。当我向下滚动时,它可以很好地加载下一个项目,但它会继续发送这些项目。我一直在使用这个 jquery 给它一个唯一的 id,因为我已经使用 mysql 使用算法订购了项目:

$("#image-list li").each(function(index) {
    $(this).attr('id', index);
});

并且为了从外部 php 文件标记新给定的项目,我也必须在文件中使用此代码。

为了发送有关给定项目的信息,我一直在使用这个 jquery:

function last_db_item_function() 
 { 

    var ID=$(".db-item:last").attr("id");
    $('div#last-db-item-loader').html('<img src="loading.gif" height="30px" />');
    $.post("index.php?action=get&last_db_item="+ID,

    function(data){
        if (data != "") {
        $(".db-item:last").after(data);         
        }
        $('div#last-db-item-loader').empty();
    });
 };  

 $(window).scroll(function(){
    if  ($(window).scrollTop() == $(document).height() - $(window).height()){
       last_db_item_function();
    }
 }); 

但问题是它似乎不起作用。我的意思是它不会从新解析的 php 文件中收集最后一个项目 id。为了解析 php,我一直在这样做:

$last_db_item = $_GET['last_db_item'];
$action = $_GET['action'];      

if($action != "get")
{
 .... Code Here....
}else{
 include ('secondimages.php');

}

所以我的问题是,为什么这似乎会永远持续下去?

I'm having a problem with my infinite scrolling. As I scroll down, it loads the next items fine but it keeps sending those items. I've been using this jquery to give it a unique id because I have ordered the items with mysql with an algorithm:

$("#image-list li").each(function(index) {
    $(this).attr('id', index);
});

and inorder to label the newly given items from an external php file, I have to use this code in the file as well.

To send the information about the items given, I've been using this jquery:

function last_db_item_function() 
 { 

    var ID=$(".db-item:last").attr("id");
    $('div#last-db-item-loader').html('<img src="loading.gif" height="30px" />');
    $.post("index.php?action=get&last_db_item="+ID,

    function(data){
        if (data != "") {
        $(".db-item:last").after(data);         
        }
        $('div#last-db-item-loader').empty();
    });
 };  

 $(window).scroll(function(){
    if  ($(window).scrollTop() == $(document).height() - $(window).height()){
       last_db_item_function();
    }
 }); 

but the problem is that it does not seem to work. Which I mean it doesn't not gather that last item id from the newly parsed php file. To parse the php I've been doing this:

$last_db_item = $_GET['last_db_item'];
$action = $_GET['action'];      

if($action != "get")
{
 .... Code Here....
}else{
 include ('secondimages.php');

}

So my question is, why does this seem to go on forever?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦毁影碎の 2024-11-16 07:28:04

当您将新元素附加到列表时,您似乎从未为其分配新 ID。您的第一个片段要么需要在添加每个新元素后调用,要么在添加它时需要将类似的代码应用于该元素(除非它返回到 php 中,此时我们需要知道更多关于您要退货的信息)

It looks like you're never assigning a new ID to the new elements when you append them to the list. The first snippet you have either needs to be called after every new element is added, or similar code needs to be applied to that one element when you add it (unless it's coming back in the php, at which point we'd need to know more about what you're returning)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文