全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

JS库 Highlightjs 添加代码行号的实现代码

Highlightjs是一款优秀的代码高亮Js组件,可以很方便地对各种语言编写的代码添加语法高亮样式。

然而,Highlightjs默认是不包括显示代码行号(Line Number)这一特性的,不过可以通过简单的JS代码和CSS样式表实现对Highlightjs的行号显示功能。

参考博文链接: syntax-highlighting-with-highlightjs

Javascript代码:

//numbering for pre>code blocks
$(function(){
  $('pre code').each(function(){
    var lines = $(this).text().split('\n').length - 1;
    var $numbering = $('<ul/>').addClass('pre-numbering');
    $(this)
      .addClass('has-numbering')
      .parent()
      .append($numbering);
    for(i=1;i<=lines;i++){
      $numbering.append($('<li/>').text(i));
    }
  });
});

实际上很简单,首先找到代码块$('pre code')。然后取得内容并按照换行符split,我们可以得到代码块的行数。最后,我们构建一个包含从数字1到行数n的行号列表,然后把这个列表追加到</pre>和</code>的闭合标签之间。

此外通过添加适当的css样式将行号列表渲染到代码的左手边缘。使用时请结合页面样式对下面的css做出相应修改。

pre {
  position: relative;
  margin-bottom: 24px;
  border-radius: 3px;
  border: 1px solid #C3CCD0;
  background: #FFF;
  overflow: hidden;
}
code {
 display: block;
 padding: 12px 24px;
 overflow-y: auto;
 font-weight: 300;
 font-family: Menlo, monospace;
 font-size: 0.8em;
}
code.has-numbering {
  margin-left: 21px;
}
.pre-numbering {
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  padding: 12px 2px 12px 0;
  border-right: 1px solid #C3CCD0;
  border-radius: 3px 0 0 3px;
  background-color: #EEE;
  text-align: right;
  font-family: Menlo, monospace;
  font-size: 0.8em;
  color: #AAA;
}

通过上面的js代码和css样式表,即可完成简单易用的Highlightjs行号显示。

总结

以上所述是小编给大家介绍的JS库 Highlightjs 添加代码行号的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# highlight  # js  # 添加代码行号  # highlightjs  # JS库之Highlight.js的用法详解  # js使用highlight.js高亮你的代码  # JavaScript语法高亮插件highlight.js用法详解【附highlight.js本站下载  # 行号  # 小编  # 行数  # 样式表  # 这一  # 在此  # 我们可以  # 可以通过  # 给大家  # 很简单  # 易用  # 不包括  # 时请  # 很方便  # 所述  # 给我留言  # 感谢大家  # 博文  # 疑问请  # 有任何 


相关文章: 如何通过二级域名建站提升品牌影响力?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  广东企业建站网站优化与SEO营销核心策略指南  建站VPS选购需注意哪些关键参数?  如何快速搭建FTP站点实现文件共享?    如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本  建站之星代理平台如何选择最佳方案?  c# await 一个已经完成的Task会发生什么  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  深圳网站制作平台,深圳市做网站好的公司有哪些?  建站主机选虚拟主机还是云服务器更好?  如何通过主机屋免费建站教程十分钟搭建网站?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  建站之星伪静态规则如何正确配置?  如何有效防御Web建站篡改攻击?  网站图片在线制作软件,怎么在图片上做链接?  如何在IIS中新建站点并配置端口与IP地址?  如何获取PHP WAP自助建站系统源码?  h5在线制作网站电脑版下载,h5网页制作软件?  宝塔建站后网页无法访问如何解决?  建站主机选购指南:核心配置优化与品牌推荐方案  成都响应式网站开发,dw怎么把手机适应页面变成网页?  建站之星展会模版如何一键下载生成?  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  ,网页ppt怎么弄成自己的ppt?  建设网站制作价格,怎样建立自己的公司网站?  简单实现Android文件上传  如何快速启动建站代理加盟业务?  建站之星后台管理:高效配置与模板优化提升用户体验  如何用PHP快速搭建高效网站?分步指南  如何在Golang中使用encoding/gob序列化对象_存储和传输数据  如何正确下载安装西数主机建站助手?  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  如何在阿里云服务器自主搭建网站?  制作企业网站建设方案,怎样建设一个公司网站?  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  导航网站建站方案与优化指南:一站式高效搭建技巧解析  利用JavaScript实现拖拽改变元素大小  网站制作企业,网站的banner和导航栏是指什么?  如何选择PHP开源工具快速搭建网站?  如何在IIS中新建站点并配置端口与物理路径?  南宁网站建设制作定制,南宁网站建设可以定制吗?  建站之星价格显示格式升级,你的预算足够吗?  如何安全更换建站之星模板并保留数据?  打鱼网站制作软件,波克捕鱼官方号怎么注册?  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  电商网站制作公司有哪些,1688网是什么意思?  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  网站制作大概多少钱一个,做一个平台网站大概多少钱? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。