利用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 相关文章推荐
jQuery ui插件的使用方法代码实例
May 08 Javascript
js switch case default 的用法示例介绍
Oct 23 Javascript
jquery+json实现数据列表分页示例代码
Nov 15 Javascript
js实现禁止中文输入的方法
Jan 14 Javascript
AngularJS基础学习笔记之控制器
May 10 Javascript
JavaScript中length属性的使用方法
Jun 05 Javascript
简单实现node.js图片上传
Dec 18 Javascript
jQuery操作json常用方法示例
Jan 04 Javascript
touch.js 拖动、缩放、旋转 (鼠标手势)功能代码
Feb 04 Javascript
vue 和vue-touch 实现移动端左右导航效果(仿京东移动站导航)
Apr 22 Javascript
Angular入口组件(entry component)与声明式组件的区别详解
Apr 09 Javascript
JS扁平化输出数组的2种方法解析
Sep 17 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
php一些公用函数的集合
2008/03/27 PHP
php设计模式 Composite (组合模式)
2011/06/26 PHP
PHP编码转换
2012/11/05 PHP
PHP模型Model类封装数据库操作示例
2019/03/14 PHP
jquery animate 动画效果使用说明
2009/11/04 Javascript
jQuery UI Dialog 创建友好的弹出对话框实现代码
2012/04/12 Javascript
jQuery代码实现发展历程时间轴特效
2015/07/30 Javascript
javascript html5 canvas实现可拖动省份的中国地图
2016/03/11 Javascript
NodeJS基础API搭建服务器详细过程记录
2017/04/01 NodeJs
微信小程序 支付后台java实现实例
2017/05/09 Javascript
jQuery Autocomplete简介_动力节点Java学院整理
2017/07/17 jQuery
JS获取字符对应的ASCII码实例
2017/09/10 Javascript
Nuxt.js开启SSR渲染的教程详解
2018/11/30 Javascript
微信小程序页面传多个参数跳转页面的实现方法
2019/05/17 Javascript
JavaScript中reduce()的5个基本用法示例
2020/07/19 Javascript
python中的字典详细介绍
2014/09/18 Python
Python多线程爬虫简单示例
2016/03/04 Python
python实现微信定时每天和女友发送消息
2019/04/29 Python
Django 导出项目依赖库到 requirements.txt过程解析
2019/08/23 Python
python实现批量处理将图片粘贴到另一张图片上并保存
2019/12/12 Python
python函数enumerate,operator和Counter使用技巧实例小结
2020/02/22 Python
python代码实现TSNE降维数据可视化教程
2020/02/28 Python
Python接口自动化测试的实现
2020/08/28 Python
使用CSS3制作一个简单的进度条(demo)
2017/05/23 HTML / CSS
美国领先的奢侈美容零售商:Bluemercury
2017/07/26 全球购物
Boolean b = new Boolean(“abcde”); 会编译错误码
2013/11/27 面试题
UNIX文件系统分类
2014/11/11 面试题
银行毕业实习自我鉴定
2013/09/19 职场文书
护理专业毕业生自我鉴定
2013/10/08 职场文书
中专生自我鉴定
2013/12/17 职场文书
大学生创业计划书的用途
2014/01/08 职场文书
小溪流的歌教学反思
2014/02/13 职场文书
旷课检讨书1000字
2014/02/14 职场文书
js实现上传图片到服务器
2021/04/11 Javascript
Java生成日期时间存入Mysql数据库的实现方法
2022/03/03 Java/Android
vue使用element-ui按需引入
2022/05/20 Vue.js