3

在有人抱怨之前,我尝试了谷歌,但没有任何直接的答案或教程..

基本上,我得到的文章是看到一个段落,然后是一个 *read more" 链接,该链接使用一些 javascript 显示更多内容,尽管最终这会减慢网站的速度,因为文章的其余部分在那里但只是隐藏了。

所以我的问题是我将如何设置 AJAX/PHP 来引入内容?我知道如何在 mysql 上建立一个数据库,我猜对了,我需要在 MySQL 中输入文章时将其存储在那里?抱歉,如果我说的一切都令人困惑,但我自己也很困惑……如果有人可以为绝对初学者解释这将是很棒的,因为即使经过数小时的搜索,谷歌也不是我的朋友。

阅读更多图片

认为我被误解了。上面的屏幕截图我已经实现了,但我现在想要做的是而不是隐藏内容然后单击显示它以使用 AJAX、数据库和 php 调用它

4

3 回答 3

2
  1. 添加“PreviewCutoffIndex”或类似文章表。
  2. 在页面加载时,将文章 HTML / 内容显示到截止索引。
  3. 对于“阅读更多”按钮,将文章标识符放入属性中
  4. 添加进行 Ajax 调用的单击处理程序,以加载文章的其余部分

标记看起来像这样(“data-article-id”来自页面加载的 PHP):

<div>
    <?php echo $mysqlResult["articleContent"]; ?>
</div>
<a id="moreButton" data-article-id="<?php echo $articleId; ?>" href='#'>Read More</div>
<div id="moreContent"></div>

Javascript(假设您将使用 JQuery):

$("#moreButton").on("click", function(e) {
    e.preventDefault();
    var articleId = $(this).attr("data-article-id");

    // load article into "moreContent" div
    $("#moreContent").load("content.php?articleId=" + articleId);
});

然后 PHPcontent.php应该为文章的其余部分返回文本(或更可能的标记),基于$_GET("articleId").

于 2013-07-21T16:53:49.370 回答
0

尽管您明确表示您不想加载整篇文章,但我仍然会说您应该:

我很确定在使用 ajax 来获取每篇文章的其余部分时,您的服务器负载会更高,因为每个“阅读更多”操作都需要另一个请求。

另外,如果您正在压缩您的请求,那么再多一点文本对请求的整体大小不会有太大影响。

如果您因为文章而导致页面加载缓慢,也许可以尝试查看分页(显示 20 篇文章,每 5 篇分批显示,以制作页面,而不是一次全部 20 篇文章)

于 2013-07-21T17:07:45.913 回答
0

css 中的“显示/隐藏”方法有什么问题?

看到这个非常先进的方法。

http://cssdeck.com/labs/css-only-showhide

于 2014-05-28T19:08:24.527 回答