javascript使用substring实现的展开与收缩文字功能示例

下面是详细讲解JavaScript使用substring实现的展开与收缩文字功能的完整攻略。

什么是“展开与收缩文字功能”?

“展开与收缩文字功能”指的是一个常见的交互效果,即当页面上某一段文字过长时,可以利用JavaScript代码将其缩短并用一个“展开”按钮控制显示全部内容或隐藏部分内容。这种效果通常用于提升页面的读取体验,避免过多文字占据页面空间。

使用substring实现展开与收缩文字功能

在JavaScript中,可以使用String对象的substring()方法来实现文本的截取,从而达到缩短文字的目的。具体步骤如下:

  1. 定义一个用于存储原始文本的变量,例如var originalText = "这是一段过长的文本,需要进行展开与收缩。";

  2. 定义一个用于存储截取后的文本的变量,例如var truncatedText = originalText.substring(0, 10) + "...",其中substring(0, 10)表示从原始文本的第0个字符开始截取,并截取10个字符。

  3. 将缩短后的文本插入到页面中,并添加一个“展开”按钮。

  4. 给“展开”按钮绑定一个点击事件,点击按钮时,将原始文本完整展示出来。

参考代码如下:

var originalText = "这是一段过长的文本,需要进行展开与收缩。";
var truncatedText = originalText.substring(0, 10) + "...";
document.getElementById("text").innerHTML = truncatedText;

var button = document.getElementById("button");
button.addEventListener("click", function() {
  document.getElementById("text").innerHTML = originalText;
});

示例说明

示例1

在一个网页中,有一段长文本需要进行缩短处理。如果不进行处理,这段文本会占用较多的页面空间,并且在屏幕上不能完整显示。使用substring()方法实现文本缩短,并添加一个“展开”按钮,来控制文本的展开与收缩。当用户点击“展开”按钮时,会将文本全部展示出来。

参考代码如下:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>文本展开与收缩功能演示</title>
  <style>
    /* 样式设定,这里省略 */
  </style>
</head>
<body>
  <div id="text"></div>
  <button id="button">展开</button>

  <script>
    var originalText = "这是一段过长的文本,需要进行展开与收缩。";
    var truncatedText = originalText.substring(0, 10) + "...";
    document.getElementById("text").innerHTML = truncatedText;

    var button = document.getElementById("button");
    button.addEventListener("click", function() {
      document.getElementById("text").innerHTML = originalText;
    });
  </script>
</body>
</html>

示例2

在一个网页中,有多篇新闻需要进行展示。其中部分新闻的标题过长,需要进行缩短处理。使用substring()方法实现文本缩短,并添加一个“展开”按钮,来控制新闻标题的展开与收缩。当用户点击“展开”按钮时,会将新闻标题全部展示出来。

参考代码如下:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>新闻列表</title>
  <style>
    /* 样式设定,这里省略 */
  </style>
</head>
<body>
  <ul>
    <li>
      <h3>
        <span class="title truncated">这是一篇过长的新闻标题,需要进行展开与收缩。</span>
        <button class="expand-btn">展开</button>
      </h3>
      <p>这是新闻的内容,省略部分...</p>
    </li>
    <li>
      <h3>
        <span class="title">这是一篇普通的新闻标题。</span>
      </h3>
      <p>这是新闻的内容,省略部分...</p>
    </li>
    <li>
      <h3>
        <span class="title truncated">这是另一篇过长的新闻标题,需要进行展开与收缩。</span>
        <button class="expand-btn">展开</button>
      </h3>
      <p>这是新闻的内容,省略部分...</p>
    </li>
  </ul>

  <script>
    var titles = document.getElementsByClassName("title");
    for (var i = 0; i < titles.length; i++) {
      var title = titles[i].innerHTML;
      if (title.length > 10) {
        titles[i].classList.add("truncated");
        var truncatedTitle = title.substring(0, 10) + "...";
        titles[i].innerHTML = truncatedTitle;
        var button = document.createElement("button");
        button.classList.add("expand-btn");
        button.innerHTML = "展开";
        var h3 = titles[i].parentNode;
        h3.appendChild(button);
        button.addEventListener("click", function() {
          var h3 = this.parentNode;
          var title = h3.getElementsByClassName("title")[0];
          var originalTitle = title.innerHTML.substring(0, title.innerHTML.length - 3);
          title.innerHTML = originalTitle;
          this.style.display = "none";
        });
      }
    }
  </script>
</body>
</html>

在这个示例中,使用了一些样式来完成新闻列表的布局。其中,新闻标题被包裹在一个<span>元素内,标题过长时添加了.truncated类,使用了CSS中的文本省略号来表示标题被缩短处理。同时,为每个过长的新闻标题添加了一个“展开”按钮,并添加了.expand-btn类来进行样式设置。

在JavaScript代码中,先使用document.getElementsByClassName("title")获取所有新闻标题,并遍历每个标题。使用title.length > 10来判断标题是否过长,若为真,则对标题进行缩短处理,并添加一个“展开”按钮。当用户点击“展开”按钮时,会将标题全部展示出来,并隐藏“展开”按钮。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript使用substring实现的展开与收缩文字功能示例 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • vue3学习笔记简单封装axios示例实现

    欢迎来到本文的完整攻略——《Vue3学习笔记:简单封装Axios示例实现》。 简介 在使用Vue.js开发Web应用的过程中,常常需要与后端交互数据。Vue.js提供了一个轻量级、高效的基于Promise的异步HTTP请求库——Axios。Axios能够发送GET、POST等各种类型的请求,并拥有诸多高级特性(如拦截器、并发请求、取消请求等),是Vue.js…

    Vue 2023年5月28日
    00
  • vue全家桶-vuex深入讲解

    Vue全家桶-Vuex深入讲解 简介 在Vue项目中,我们经常用到状态管理库Vuex来管理应用状态。Vuex通过一个集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。 安装 使用npm安装: npm install vuex –save 基本概念 State Vuex使用一个单一状态树,用一个对象包含了全部应用层级状态。…

    Vue 2023年5月28日
    00
  • vue + Electron 制作桌面应用的示例代码

    下面是关于“vue + Electron 制作桌面应用的示例代码”的完整攻略,主要分为以下几个步骤: 1. 创建项目 首先,确保已安装最新版本的 nodejs 和 npm。然后,在命令行工具中输入以下命令创建一个基础的 Vue.js 项目。 vue create my-desktop-app 接下来,进入项目目录并安装 Electron 和 electron…

    Vue 2023年5月27日
    00
  • vue的简介及@vue/cli 脚手架的使用示例

    Vue是一个用于构建用户界面的渐进式框架。与其他一些框架不同,Vue采用了渐进式单文件组件的方式,以更优雅、更易于维护的方式来构建应用程序。 VueCLI是Vue官方提供的一个脚手架,可以快速搭建Vue项目,提供了丰富的插件和可定制化的配置项。下面是@vue/cli脚手架的使用示例。 安装@vue/cli 在终端中执行以下命令进行@vue/cli的安装: n…

    Vue 2023年5月28日
    00
  • Vue3 如何通过虚拟DOM更新页面详解

    Vue3 如何通过虚拟DOM更新页面,下面是完整攻略。 什么是虚拟DOM 虚拟DOM是DOM的 JavaScript 对象表示形式。虚拟DOM可以更便捷地对页面进行操作,避免频繁地修改页面真实DOM,节省运算提高性能。Vue3 采用了 VNode 来表示虚拟DOM。 一个简单的 VNode 示例: VNode: { tag: ‘div’, // 标签名称 p…

    Vue 2023年5月28日
    00
  • vue实现表格增删改查效果的实例代码

    下面是关于“vue实现表格增删改查效果的实例代码”的完整攻略: 步骤一:搭建环境 在开始编写代码前,我们需要先搭建运行 Vue.js 的环境。可以使用 Vue.js 官网提供的脚手架 Vue CLI 来创建一个 Vue.js 项目。具体步骤如下: 安装 Node.js Vue.js 依赖于 Node.js 环境,因此需要先安装 Node.js。在安装 Nod…

    Vue 2023年5月28日
    00
  • 用vue设计一个日历表

    对于如何用vue设计一个日历表,一般可以分为以下几个步骤: 1. 确定日历的设计需求及所需组件 首先,我们需要确定本次设计所需实现的功能以及对应的组件。一般来说,日历表需要实现以下功能: 展示当前月份的日期信息 允许用户切换月份和年份 支持选择日期并高亮显示 可以展示一些日历上的重要日子,如节假日或者自定义事件等 根据上述需求,我们可以确定需要用到一些基本的…

    Vue 2023年5月29日
    00
  • vue-devtools的安装与使用教程

    下面是关于vue-devtools的安装与使用教程的详细讲解: 什么是vue-devtools vue-devtools是由Vue.js核心成员开发的浏览器开发者工具,主要用于调试和排查Vue.js应用程序的问题。它可以在浏览器上查看应用程序的组件结构、状态数据以及组件实例层次结构等,提供了丰富的调试工具来帮助你更好地调试Vue.js应用程序。 安装vue-…

    Vue 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部