当前位置: 首页 > news >正文

HTML--在textarea左侧添加行号

原文网址:HTML--在textarea左侧添加行号-CSDN博客

简介

本文介绍HTML在textarea文本框左侧添加行号的方法。

效果

代码

<html xml:lang="cn" lang="cn"><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8"><meta name="keywords" content="anchor,fixed navigation hide anchor"><title>textarea测试</title><style>.line-number-container {display: inline-block;padding: 2px 0 2px 1em;font-family: monospace;color: #999;position: absolute;left: 0;top: 0;bottom: 0;overflow-y: scroll;scrollbar-width: none; /* 禁止显示滚动条 */}.line-number-container::-webkit-scrollbar {width: 0; /* 禁止显示滚动条 */}.container textarea {width: 500px;height: 200px;padding-left: 2em;overflow: scroll;}</style>
</head><body><div class="container" style="position: relative;"><textarea wrap="off"></textarea><div class="line-number-container"></div>
</div></body><script>createLineNumber('.container textarea', '.line-number-container')function createLineNumber(textAreaSelector, lineNumberSelector) {let textarea = document.querySelector(textAreaSelector);let lineNumber = document.querySelector(lineNumberSelector);updateLineNumbers();textarea.addEventListener("input", updateLineNumbers);textarea.addEventListener("scroll", syncScroll);lineNumber.addEventListener("scroll", syncContent);function updateLineNumbers() {let lines = textarea.value.split("\n");lineNumber.innerHTML = "";for (let i = 0; i < lines.length; i++) {let lineNum = document.createElement("div");lineNum.textContent = i + 1 + '';lineNumber.appendChild(lineNum);}let widthCount = String(lines.length).length;widthCount += 1;textarea.style.setProperty('padding-left', widthCount + 'em');}function syncScroll() {lineNumber.scrollTop = textarea.scrollTop;}function syncContent() {textarea.scrollTop = lineNumber.scrollTop;}}
</script></html>

http://www.dtcms.com/a/441928.html

相关文章:

  • mysql逻辑备份跟物理备份的区别
  • Django 学习日志
  • 如何用word做简单的网站wordpress绑定
  • 第十三篇:Python并发编程进阶:多进程(multiprocessing)
  • 硬件-电容学习DAY23——电容设计实战指南:从选型到高频应用
  • 20232022年408真题易错知识点整理
  • 【Qt开发】输入类控件(四)-> QSpinBox
  • uniapp与webview通信
  • 地推app接任务平台网站图片大小优化
  • Java Stream API
  • Freqtrade - 快速开始Quick Start
  • C++list全解析
  • KafKa概念与安装
  • 基于单片机和LabVIEW的多路数据采集器系统设计(论文+源码)
  • 网站你懂我意思正能量晚上在线下载免费软件魅族网站被黑客入侵怎么办
  • C语言笔记(2)
  • interface range 概述及题目
  • web:vue中方法watch和方法watchEffect的对比
  • 微信息公众平台微网站建设郴州网站建设费用价格
  • leetcode 35.搜索插入的位置 python
  • 探索 Docker/K8s 部署 MySQL 的创新实践与优化技巧——容器化部署深度解析
  • 信奥赛CSP-J复赛集训(语法基础专题)(1):三位数排序(文末附讲课视频)
  • 购物分享网站怎么做的网站建设服务中心
  • 【深度学习新浪潮】数据合成领域近三年研究进展与开源项目调研
  • 【嵌入式Linux - 应用开发】音频(ALSA 框架)
  • 获得场景视频API开发(02):H5前端上传视频之Java转 PHP实现方案
  • 枣阳网站建设公司c 在网站开发方面有优势吗
  • SpringMVC中的常用注解及使用方法
  • PyQt6实例_个股收盘价和市盈率TTM
  • Windows 环境下安装 Node.js 和 Vue.js 框架完全指南