纯前端实现点击加载更多内容:SEO友好与性能优化方案

作者:寒星

时间:2026-10-31

浏览:148

本文介绍如何利用纯JavaScript在前端实现“点击加载查看更多”功能,无需调用后端接口。通过预先在HTML源码中嵌入完整数据,利用CSS或JS控制显示状态,既保证了搜索引擎抓取所有链接与内容,又减轻了服务器压力。文章提供基础示例及优化代码,支持分批加载与按钮状态切换,适合对SEO和首屏性能有要求的场景。

文章目录

为了提升搜索引擎优化(SEO)友好度,同时避免频繁调用后端接口给服务器带来额外负担,可以采用纯前端JavaScript实现“点击加载查看更多”的功能。具体做法是:在HTML源码中预先包含所有数据(例如60条记录),初始状态仅展示前20条;当用户点击“查看更多”按钮时,每次追加显示10条新记录;当所有数据加载完毕后,将按钮文本更改为“已查看全部”。

在JavaScript中,你可以使用以下步骤来实现点击查看更多的功能:

  • 确定触发点击事件的元素和需要显示的文章列表。

  • 为点击事件绑定一个事件监听器。

  • 在事件处理函数中,将原先隐藏的文章列表添加到页面上。

简单示例

以下是简单实现这一功能的示例代码:

HTML部分

<button id="viewMoreButton">查看更多</button>
<div id="articleList">
    <!-- 这里是原先隐藏的文章列表,初始显示的前5条 -->
    <div>文章1</div>
    <div>文章2</div>
    <div>文章3</div>
    <div>文章4</div>
    <div>文章5</div>
    
    <!-- 隐藏的文章列表,点击按钮后显示 -->
    <div style="display:none;">文章6</div>
    <div style="display:none;">文章7</div>
    <div style="display:none;">文章8</div>
    <div style="display:none;">文章9</div>
    <div style="display:none;">文章10</div>
</div>

JavaScript部分

document.getElementById('viewMoreButton').addEventListener('click', function() {
    var articleList = document.getElementById('articleList');
    var hiddenArticles = articleList.querySelectorAll('[style*="display:none"]');
    
    // 将隐藏的文章显示出来
    for (var i = 0; i < hiddenArticles.length; i++) {
        hiddenArticles[i].style.display = 'block';
    }
    
    // 可以选择之后移除按钮或者改变按钮文本
    this.remove(); // 移除按钮
    // 或者
    this.innerText = '已查看全部';
});

在这个例子中,初始时显示前5条文章,点击按钮后会显示隐藏的文章列表,并且可以选择是否移除按钮或者更改按钮文本。

拓展优化

HTML隐藏列表问题

css实现列表超过10条隐藏

#articleList div:nth-child(n+11) {
  display: none;
}

为什么html中不使用上述方式,而使用style="display:none;"来隐藏列表。因为js中for遍历的时候使用style="display:none;"来标记隐藏的列表。

可以多次点击“查看更多”

HTML中的列表数量要多一些,js代码如下

document.getElementById('viewMoreButton').addEventListener('click', function() {
    var articleList = document.getElementById('articleList');
    var hiddenArticles = articleList.querySelectorAll('[style*="display:none"]');
    var hiddennum = hiddenArticles.length;
    var num = 10;
    if (hiddennum==0){
        alert('没有更多了');
    } else {
        if (hiddennum<=10) {
            num = hiddennum;
            this.innerText = '已查看全部';
        }
        for (var i = 0; i < num; i++) {
            hiddenArticles[i].style.display = 'block';
        }
    }
});

总结

到此这篇关于js无后端实现点击加载查看更多(提示SEO友好度)的文章就介绍到这了,更多相关js无后端实现查看更多内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章