javascript - 如何在html或js中为博客添加 'Load More..'选项?

标签 javascript jquery html

我正在从 SQL 数据库加载博客,有些博客相当长。所以我想将每个博客限制在30个左右(可以多也可以少)字,然后添加一个Load More链接位于末尾,然后将加载博客的其余部分供用户查看。

通过 jQuery AJAX 调用检索博客。然后接收到的数据通过 for loop 运行。设置返回的 JSON 数组的长度。最后填充 .append(<The html to be appended>); 。这就是它的样子:

    $.ajax({
    type: "GET",
    url: "<url to api>",
    success: function (data) {
        for (let i = 0; i < data.length; i++) {
            blogsBlock.append(`
            <div class="blog">
                <div class="blog-header">`+ data[i].Name + `</div>
                <div class="blog-content">
                    <div class="blog-content-inner">
                        `+ data[i].Blog + `
                    </div>
                </div>
                <div class="blog-footer">
                    Uploaded: `+ data[i].Date+ `
                </div>
            </div>
            `);
        }
    }
});

同样,我想将博客限制在 30 个字左右,然后附加 Load More它旁边的按钮将在用户单击时加载博客的其余部分。

最佳答案

由于您想要显示博客列表并将其限制为 30 个字(您应该计算字符而不是字数,例如 150 个字符),有两种常见的方法可以解决您的问题 -

解决方案1

您应该向数据库表添加一列,其中可以保存博客的简短描述或博客的标题,然后从服务器获取并显示它。当您将博客数据插入数据库时​​,此简短描述可以从用户处获取,也可以根据实际博客(例如博客内容的前 150 个字符)计算得出。

解决方案2

如果您的数据库中已经有很多博客,并且没有简短描述的列,则可以在从数据库获取数据时限制字符。例如-

SELECT SUBSTRING(`text`, 1, 150) as shortDesc FROM BlogTable;

关于javascript - 如何在html或js中为博客添加 'Load More..'选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54308671/

相关文章:

javascript - jQuery Ajax 和内存泄漏问题

javascript - FlatUI - 单选按钮 jQuery 兼容性

html - 使用嵌套的 <table> CSS 格式化 <form>(jsfiddle 示例)

javascript - react router 中的 hashHistory 和 browserHistory 有什么区别?

javascript - 谷歌地图显示为灰色,但在调整浏览器大小时有效

javascript - $() 函数未按预期工作

html - 带页眉和页脚的流体高度主体

javascript - 如何创建元素的浅拷贝?

jquery - 匹配不同尺寸的浏览器时,如何用父元素的specific固定一个元素的位置

jquery - VideoJS 5 视频播放器更改音量和进度条的命中框