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

yizhihongxing

下面是详细讲解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日

相关文章

  • websocket在springboot+vue中的使用教程

    下面是关于使用WebSocket在Spring Boot和Vue中的完整攻略。 WebSocket 在 Spring Boot 和 Vue 中的使用教程 什么是 WebSocket? WebSocket 是 HTML5 提供的一种在单个 TCP 连接上进行全双工通讯的协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单、更便捷,且可以实现低…

    Vue 2023年5月28日
    00
  • Vue 服务端渲染SSR示例详解

    下面是“Vue 服务端渲染SSR示例详解”的完整攻略。 Vue 服务端渲染SSR示例详解 什么是Vue 服务端渲染 在Web中,常用的前端框架可以分为两类:传统的客户端渲染(CSR)框架和服务端渲染(SSR)框架。传统的CSR框架(如Vue.js、React等)是指通过JavaScript动态地处理DOM元素的方式来渲染页面。而SSR框架是指在服务器端生成H…

    Vue 2023年5月28日
    00
  • 详解Vue组件之作用域插槽

    当我们使用Vue构建前端应用时,尤其是当我们需要扩展组件功能时,Vue组件是不可避免的。Vue的组件化系统使用了所谓的作用域插槽(scope slots)以让组件的扩展更加灵活和强大。在本文中,我们将会讨论Vue的作用域插槽。 什么是作用域插槽? 作用域插槽是Vue组件中最强大的特性之一,它让父组件可以在子组件的视图中插入内容,并访问子组件的内部数据。尤其是…

    Vue 2023年5月27日
    00
  • 详解Vue新增内置组件的使用

    详解Vue新增内置组件的使用 作为一个流行的前端框架,Vue一直在不断地发展和更新。最近,Vue又新增了一些内置组件,这些组件可以方便地实现一些常见的功能,同时也可以提高开发效率。本文将详细介绍Vue新增的内置组件的使用方法,并提供两个实例说明。 Vue新增的内置组件 Vue新增的内置组件有以下几个: <transition>:用于在元素插入或删…

    Vue 2023年5月27日
    00
  • 如何在vue中使用pdfjs预览pdf文件

    下面是“如何在Vue中使用pdf.js预览pdf文件”的完整攻略。 安装pdf.js 首先,我们需要安装pdf.js。可以通过以下命令来安装: npm install pdfjs-dist 使用pdf.js渲染pdf文件 在Vue组件中引入pdf.js和样式文件: import pdfjsLib from ‘pdfjs-dist’; import ‘pdfj…

    Vue 2023年5月28日
    00
  • vue-property-decorator用法详解

    Vue.js 是一个非常受欢迎的前端框架,它能够快速构建交互性强的单页面应用。而 vue-property-decorator 是一个用于 Vue.js 的装饰器库,可以帮助我们更方便地编写 Vue.js 组件。下面来详细讲解 vue-property-decorator 的用法。 安装 通过 npm 安装 vue-property-decorator: n…

    Vue 2023年5月27日
    00
  • Vue项目部署后提示刷新版本的实现代码

    当我们部署 Vue 项目时,通常情况下,部署完成后用户需要手动刷新页面才能加载最新版本。为了提供更好的用户体验,我们可以使用一些方法来实现自动刷新页面的功能。以下是一些实现方法的示例说明。 方法一:添加版本号 第一种方法是通过添加版本号到静态资源文件来实现自动刷新页面。具体实现步骤如下: 在 Vue 项目中的 index.html 文件中添加版本号到静态资源…

    Vue 2023年5月28日
    00
  • el-date-picker日期选择限制范围的实例代码

    下面是关于el-date-picker日期选择限制范围的实例代码的完整攻略。 1. 前置知识 在讲解实例代码之前,我们需要掌握以下基本知识: el-date-picker是一个基于element-ui的日期选择器组件; el-date-picker可以通过picker-options属性限制日期选择的范围; picker-options中可以设置disabl…

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