【问题标题】:How to implement a twitter like message appearance?如何实现类似推特的消息外观?
【发布时间】:2023-03-19 18:00:01
【问题描述】:

我现在正在为我的 Ruby on Rails 网站开发评论系统。 当用户单击 SEE MORE 按钮时,我尝试使 cmets 出现。 我知道这不像我们在分页中所做的那样,所以我需要你们的小帮助!

当所有的 cmets 都显示出来后,应该从页面中移除 SEE MORE 按钮。

【问题讨论】:

    标签: php ruby-on-rails ajax frameworks


    【解决方案1】:

    当页面加载时,包含一个 Javascript 变量来指示“最后看到的项目”或时间戳(我相信 Twitter 会按照日期顺序对推文进行排序)。然后你有一个由 setTimeout 函数启动的 Javascript 函数,它使用这个时间戳轮询你的服务器。

    然后,您的服务器会查找从那时起是否还有更多帖子,如果有,则将结果数量返回给 Javascript,并显示“查看更多”提示 - 它还包括新的时间戳(如果没有新的结果,它只是返回一个时间戳)。

    点击“查看更多”提示将通过 Javascript 加载新帖子,通过 DOM 显示它们,然后重置 Javascript 变量并重复该过程。

    当然,您如何实际实现这将取决于您的数据结构、您实际使用的服务器软件、如果有新帖子然后您经常想要在客户端执行什么操作“轮询”服务器以获取新响应(请记住更频繁的轮询会增加您的服务器负载)。

    【讨论】:

    • 算法很好,但有时没有代码示例代码实现会非常困难,谢谢
    • 您使用的是什么 Javascript 框架(如果有),您使用的是什么后端(PHP/RoR/Perl 等),您的数据库结构如何?所有这些项目都将取决于代码的编写方式。
    【解决方案2】:

    您查看过this JQuery plugin。我相信它几乎完全符合您的要求,并且该示例显示了如何使用 Rails 进行设置。它的样式在 Facebook 的“显示更多帖子”分页上,但这与 Twitter 使用的“更多”帖子分页基本相同。

    【讨论】:

    • 我无法让它与我的应用程序一起使用。我使用 will_paginate 并包含 jquery.bottomlesspagination.js,但按钮显示更多没有出现。我考虑 jquery.bottomlesspagination.js 中的问题
    猜你喜欢
    • 1970-01-01
    • 2012-11-01
    • 2011-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-13
    • 1970-01-01
    相关资源
    最近更新 更多