利用JS生成博文目录及CSS定制博客


Posted in Javascript onFebruary 10, 2016

本文实例为大家介绍了利用JS生成博文目录及CSS定制博客的方法,分享给大家供大家参考,具体内容如下

1.JS代码

想要生成目录,许多都说需要JS修改权限,那个这里就直接进入设置页面,找到下方的联系邮箱直接发去就行了,工作人员回复的还是很快的。

拿到权限之后,下面就是将编(搜)写(寻)的JS代码放在页脚HTML代码的方框内,然后点击保存就可以了。要注意目录的生成是几级标题,这一点可是很重要的。JS代码如下,基本没有变化,拷贝了原作者的写法,可以生成二级目录,分别为h2和h3,这点需要注意。

综合来说,这个目录有以下几点的特点,这些也都可以在本文中看到(二级目录本博文没有使用)。

1). 可以在博文首部生成两级目录
2). 每个一级目录上方有一个回到顶部的链接

JS代码如下。

<script language="javascript" type="text/javascript">
// 生成两级目录索引列表
function GenerateContentList()
{
 var mainContent = $('#cnblogs_post_body');
 var h2_list = $('#cnblogs_post_body h2');//如果你的章节标题不是h2,只需要将这里的h2换掉即可

 if(mainContent.length < 1)
  return;
 
 if(h2_list.length>0)
 {
  var content = '<a name="_labelTop"></a>';
  content += '<div id="navCategory">';
  content += '<p style="font-size:18px"><b>目录</b></p>';
  content += '<ul>';
  for(var i=0; i<h2_list.length; i++)
  {
   var go_to_top = '<div style="text-align: right"><a href="#_labelTop">回到顶部</a><a name="_label' + i + '"></a></div>';
   $(h2_list[i]).before(go_to_top);
   
   var h3_list = $(h2_list[i]).nextAll("h3");
   var li3_content = '';
   for(var j=0; j<h3_list.length; j++)
   {
    var tmp = $(h3_list[j]).prevAll('h2').first();
    if(!tmp.is(h2_list[i]))
     break;
    var li3_anchor = '<a name="_label' + i + '_' + j + '"></a>';
    $(h3_list[j]).before(li3_anchor);
    li3_content += '<li><a href="#_label' + i + '_' + j + '">' + $(h3_list[j]).text() + '</a></li>';
   }
   
   var li2_content = '';
   if(li3_content.length > 0)
    li2_content = '<li><a href="#_label' + i + '">' + $(h2_list[i]).text() + '</a><ul>' + li3_content + '</ul></li>';
   else
    li2_content = '<li><a href="#_label' + i + '">' + $(h2_list[i]).text() + '</a></li>';
   content += li2_content;
  }
if($('#cnblogs_post_body').length != 0 )
  {
   $($('#cnblogs_post_body')[0]).prepend(content);
  }
 } 
}

GenerateContentList();
</script>

2. 一级标题CSS格式

我在观察zzq同学的一些博文里面的一级标题有一个浅灰色的背景,觉得添加之后看起来很不错。在这里就借用一下该图片作为一级标题的背景,图片和CSS的说明如下。

#cnblogs_post_body h2 {
 background-repeat: no-repeat;
 background-image: url('http://xxxx');
}

以上就是本文的详细内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
javascript 常用关键字列表集合
Dec 04 Javascript
JS 动态加载脚本的4种方法
May 05 Javascript
javascript开发技术大全 第4章 直接量与字符集
Jul 03 Javascript
js实现的点击数量加一可操作数据库
May 09 Javascript
JavaScript中实现最高效的数组乱序方法
Oct 11 Javascript
Bootstrap弹出框(modal)垂直居中的问题及解决方案详解
Jun 12 Javascript
jQuery实现根据滚动条位置加载相应内容功能
Jul 18 Javascript
jquery仿京东侧边栏导航效果
Mar 02 Javascript
如何通过非数字与字符的方式实现PHP WebShell详解
Jul 02 Javascript
Vue.js学习笔记之常用模板语法详解
Jul 25 Javascript
jQuery实现获取及设置CSS样式操作详解
Sep 05 jQuery
JS实现利用闭包判断Dom元素和滚动条的方向示例
Aug 26 Javascript
浅析javascript函数表达式
Feb 10 #Javascript
详解AngularJS中的http拦截
Feb 09 #Javascript
详解Javacript和AngularJS中的Promises
Feb 09 #Javascript
深入浅析JavaScript面向对象和原型函数
Feb 06 #Javascript
基于JavaScript实现图片点击弹出窗口而不是保存
Feb 06 #Javascript
javascript+css3 实现动态按钮菜单特效
Feb 06 #Javascript
Angularjs全局变量被作用域监听的正确姿势
Feb 06 #Javascript
You might like
js压缩利器
2007/02/20 Javascript
javascript控制swfObject应用介绍
2012/11/29 Javascript
在js中判断checkboxlist(.net控件客户端id)是否有选中
2013/04/11 Javascript
thinkphp中常用的系统常量和系统变量
2014/03/05 Javascript
nodejs中操作mysql数据库示例
2014/12/20 NodeJs
JavaScript DOM基础
2015/04/13 Javascript
11种ASP连接数据库的方法
2015/09/18 Javascript
javascript字符串替换函数如何一次性全部替换掉
2015/10/30 Javascript
JavaScript中SetInterval与setTimeout的用法详解
2015/11/10 Javascript
JavaScript学习笔记之数组的增、删、改、查
2016/03/23 Javascript
使用bootstrap3开发响应式网站
2016/05/12 Javascript
jQuery页面加载初始化的3种方法(推荐)
2016/06/02 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
Angular的$http的ajax的请求操作(推荐)
2017/01/10 Javascript
JS实现的二叉树算法完整实例
2017/04/06 Javascript
解决vue2.x中数据渲染以及vuex缓存的问题
2017/07/13 Javascript
简化vuex的状态管理方案的方法
2018/06/02 Javascript
浅谈webpack SplitChunksPlugin实用指南
2018/09/17 Javascript
Node 搭建一个静态资源服务器的实现
2019/05/20 Javascript
深入理解webpack process.env.NODE_ENV配置
2020/02/23 Javascript
JS定时器如何实现提交成功提示功能
2020/06/12 Javascript
Python中列表(list)操作方法汇总
2014/08/18 Python
python采用getopt解析命令行输入参数实例
2014/09/30 Python
Python常用的文件及文件路径、目录操作方法汇总介绍
2015/05/21 Python
Python自动调用IE打开某个网站的方法
2015/06/03 Python
TensorFlow模型保存和提取的方法
2018/03/08 Python
使用python 3实现发送邮件功能
2018/06/15 Python
Flask缓存静态文件的具体方法
2020/08/02 Python
斯洛伐克时尚服装网上商店:Cellbes
2016/10/20 全球购物
俄罗斯香水和化妆品在线商店:Aroma-butik
2020/02/28 全球购物
Java Servlet API中forward() 与redirect()的区别
2014/04/20 面试题
小学生自我鉴定
2013/10/12 职场文书
《月球之谜》教学反思
2014/04/10 职场文书
2014年入党积极分子学习三中全会思想汇报
2014/09/13 职场文书
大学生个人学年总结
2015/02/15 职场文书
html输入两个数实现加减乘除功能
2021/07/01 HTML / CSS