为什么我的 ajax 函数不能无限滚动?

2024-01-12

我正在使用 waypoints.js 和 Django 后端构建一个具有无限滚动的网页。问题是,我的 jquery 和 ajax 函数在处理第一页上的内容时无法处理新生成的内容。 **编辑:-**我正在更新我的代码,以便更容易理解我的问题。

<div class="infinite-container">
  {%if result %}
  {% for c in result %}
  <div class="infinite-item">
    <img class="likebutton" value="{{c.id}}" id="{{c.id}}" src="{%static "/images/icons/renameheart.png" %}" />
    <div class="LikeCount" id="LikeCount{{c.id}}">{{c.totallikes}}{%if c.totallikes|add:0 == 1%} Like{% elif c.totallikes|add:0 == 0  %} Like {% else %} Likes{% endif %}</div>
  </div>
   {% endfor %}
  {% if result.has_next %}<a class="infinite-more-link" href="?page={{ result.next_page_number }}"></a><div class="loading">loading...</div>{% endif %}
    {% endif %}

</div>
 <script type="text/javascript">
var infinite = new Waypoint.Infinite({
  element: $('.infinite-container')[0],
  onBeforePageLoad: function () {
    $('.loading').show();
  },
  onAfterPageLoad: function ($items) {
    $('.loading').hide();
  }
});

 $(document).ready(function(){
    $('.likebutton').click(function(){
        var id=$(this).attr('value');
        var csrftoken = $("[name=csrfmiddlewaretoken]").val();
        var datat={'id':id};
        $.ajax({
            type:"POST",
            url:"/like/",
            data:datat,
            headers:{
                "X-CSRFToken": csrftoken
            },
            success:function(data){
                if (data.condition==="Liked"){
                    $('#'+id).attr("src","/static/images/icons/renameheart.png");
                }
                if (data.condition==="Unliked"){
                    $('#'+id).attr("src","/static/images/icons/heart.png");
                }
                var likecon=$('#LikeCount'+id);
                likecon.empty();
                if (data.likes > "1"){
                     likecon.text(data.likes+" Likes");
                }else{
                     likecon.text(data.likes+" Like");
                }
            }
        });
    });


});

现在假设如果每个页面包含 5 个条目,那么我的 jquery 和 ajax 函数仅对前 5 个条目起作用。


这正是onAfterPageLoad是为了确保您在原始页面中的元素上运行的任何 javascript 也可以在新添加的元素上运行:

var performClickEvent = function(event) {
    ...
}

$(document).ready(function(){
     $('.likebutton').on('click', performClickEvent)
}

onAfterPageLoad: function($items) {
    $('.loading').hide();
    $items.each(function() {
        $(this).find('.likebutton').on('click', performClickEvent);
    }
}

where performClickEvent是您还作为点击处理程序附加到您的函数$('.likebutton')文档上的 divs 已准备好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我的 ajax 函数不能无限滚动? 的相关文章

随机推荐

  • github graphql api,“clientMutationId”是什么意思?

    I saw clientMutationId领域在示例强类型 https developer github com v4 guides migrating from rest example strong typing文档 mutation
  • C# 从不同线程调用控制

    我正在开发一个使用多线程的服务器程序 问题是 有多个类和大量线程 它们都需要访问某个 TextBox tb日志 该方法 Log 如下所示 using System using System Windows Forms using Syste
  • 如何在nodejs中的axios POST请求中传递文本/纯内容

    I want to pass body parameters as shown in screen shot in text plain format 我在我的 nodejs express 项目中使用 axios 我的请求格式如下图 va
  • 其元素形成连续序列的最长子数组

    给定一个未排序的正整数数组 找到排序时元素连续的最长子数组的长度 你能想到一个 O n 的解决方案吗 Example 10 5 3 1 4 2 8 7 答案是 5 4 5 1 5 7 6 8 4 1 答案是 5 对于第一个例子 子数组 5
  • Spark 物理计划与 Spark Web UI sql 选项卡中显示为 DAG 的计划有何区别?

    我曾经认为 Spark 物理计划和 Spark Web UI SQL 选项卡中显示为 DAG 的两者应该完全相同 只是 SQL 选项卡中的 DAG 将填充实际运行时的统计信息 因此 Web UI 中 SQL 选项卡的内容甚至仅在调用操作后才
  • “x = x || 0”的目的是什么? [复制]

    这个问题在这里已经有答案了 在查看我在网上找到的一些代码时 我发现了这一行特殊的代码 Javascript function values b this b b 0 我根本不明白这样做的目的是什么 0 如果我没记错的话 自从 返回一个布尔值
  • HTML5/Canvas:网页预览?

    我可以使用canvas生成网页的缩略图吗 我有一个网页 用户在网页上停留的时间越长 通过 Ajax 网页的垂直长度就会增加 从而要求用户垂直滚动才能看到页面上的新内容 想想像聊天室这样的东西 我想做的是生成浏览器窗口中所有内容的小缩略图并将
  • 部署到 Azure 失败,需要调试帮助

    我有一个 asp net mvc 4 应用程序 我正在将其部署到 Azure 它部署成功 但是当我从 NuGet Postal 0 8 2 添加包时 它破坏了我的部署 我需要帮助找出问题所在 以便我可以向项目报告问题 当我使用该包部署应用程
  • C++ 中的 popen 等效项

    他们有C吗popen C 中的等价物 您可以使用 尚未正式 升压过程 http www highscore de boost process 如果您想要一种面向对象的方法来管理子流程 或者你可以只使用popen本身 如果你不介意这一切的 C
  • 使用 ggplot2 绘制时间序列图

    我有一个实验 研究了随着时间的推移 三种不断进化的酵母菌群 在离散时间点 我们测量了它们的增长 这是响应变量 我基本上想将酵母的生长绘制为时间序列 使用箱线图来总结每个点的测量结果 并分别绘制三个群体中的每一个 基本上 看起来像这样 作为新
  • H2内存数据库初始化数据

    我将 H2 与 Hibernate 结合使用来动态生成内存数据库以进行单元测试 我成功创建了数据库 一切正常 但我有一个问题我不知道如何处理 我需要在执行测试之前将参考数据加载到数据库进行测试 我将此数据存储为 SQL 插入文件 我只需要在
  • 如何在 Firebase 事件分析中查看捆绑包参数

    我有一个独特的按钮 位于 4 个不同的片段中 这些独特的按钮在所有这些片段中执行类似的操作 但进行了一些调整 由于所有这些事情都很相似 我将它们记录在事件名称 unique btn click event 下 val eventName u
  • 针对 Azure 移动服务和 Javascript 客户端启用 SIignalR 身份验证

    我花了很长时间试图弄清楚如何在使用 JavaScript 客户端时通过 SignalR 进行 AMS 身份验证 我下载了 Azure 移动服务的 JavaScript 客户端 我在 AMS 上安装了 Signal R 一切都已连接并准备就绪
  • SQL 查询中 SELECT 语句中的WITH TIES 关键字有什么用?

    SELECT TOP 5 WITH TIES EmpNumber EmpName FROM Employee Order By EmpNumber DESC 上面的查询返回五个以上的结果 With Ties 关键字 SQL 查询有什么用 F
  • IIS Express 是否支持 ASP Classic?

    我忘记在我的最后一个开发机器 repave 中安装 IIS 并想也许新的 IIS Express 可以满足运行我支持的旧 ASP Classic 站点的要求 您知道 IIS Express 是否支持 ASP Classic 是的 它支持 更
  • 如何增加 MySQL 5.1 中的密钥长度?

    当运行创建索引的 Rails 迁移时 我得到 Mysql Error Specified key was too long max key length is 1000 bytes CREATE UNIQUE INDEX index mat
  • 使用find初始化常量?

    像这样的事情 类别类别 SOME CATEGORY find by name some category end 类别 SOME CATEGORY尝试过没有问题 但想知道这是否是一个坏主意 以及原因 如果有 thanks 如果您不想每次都访
  • 文本节点的 jQuery 自定义选择器

    我想使用 jQuery 自定义选择器从 DOM 元素中提取文本 它应该只选择没有标记同级的文本节点 很像 XPath 中的 text 背景 我正在开发一个 Firefox 扩展 它可以在非常不同的网站上提取一些特定信息 例如用户名 现在我希
  • 单击 HTML 表并获取行号(使用 Javascript,而不是 jQuery)

    我想知道如何单击 HTML 表格中的按钮并获取返回给我的行号和列号 例如 使用下表 table tr td td tr table
  • 为什么我的 ajax 函数不能无限滚动?

    我正在使用 waypoints js 和 Django 后端构建一个具有无限滚动的网页 问题是 我的 jquery 和 ajax 函数在处理第一页上的内容时无法处理新生成的内容 编辑 我正在更新我的代码 以便更容易理解我的问题 div cl