利用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的简单图片切换效果
Jan 06 Javascript
jQuery动态设置form表单的enctype值(实现代码)
Jul 04 Javascript
js 事件截取enter按键页面提交事件示例代码
Mar 04 Javascript
JavaScript获取当前运行脚本文件所在目录的方法
Feb 03 Javascript
用JS生成UUID的方法实例
Mar 30 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图的组合双轴图效果示例【附demo源码下载】
Mar 09 Javascript
js实现按座位号抽奖
Apr 05 Javascript
Express URL跳转(重定向)的实现方法
Apr 07 Javascript
基于JavaScript实现前端数据多条件筛选功能
Aug 19 Javascript
详解vue axios二次封装
Jul 22 Javascript
javascript History对象原理解析
Feb 17 Javascript
JavaScript文档对象模型DOM
Nov 20 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 来访国内外IP判断代码并实现页面跳转
2009/12/18 PHP
CodeIgniter框架数据库事务处理的设计缺陷和解决方案
2014/07/25 PHP
PHP开启opcache提升代码性能
2015/04/26 PHP
非常经典的PHP文件上传类分享
2016/05/15 PHP
JavaScript 参考教程
2006/12/29 Javascript
express的中间件bodyParser详解
2014/12/04 Javascript
Node.js实现的简易网页抓取功能示例
2014/12/05 Javascript
jQuery插件StickUp实现网页导航置顶
2015/04/12 Javascript
JavaScript ES5标准中新增的Array方法
2016/06/28 Javascript
将html页面保存成图片,图片写入pdf的实现方法(推荐)
2016/09/17 Javascript
浅析script标签中的defer与async属性
2016/11/30 Javascript
微信小程序 scroll-view组件实现列表页实例代码
2016/12/14 Javascript
webpack教程之webpack.config.js配置文件
2017/07/05 Javascript
Vue 2.0在IE11中打开项目页面空白的问题解决
2017/07/16 Javascript
vue不通过路由直接获取url中参数的方法示例
2017/08/24 Javascript
Vue+ElementUI实现表单动态渲染、可视化配置的方法
2018/03/07 Javascript
JavaScript面向对象继承原理与实现方法分析
2018/08/09 Javascript
vue使用keep-alive保持滚动条位置的实现方法
2019/04/09 Javascript
使用Vue中 v-for循环列表控制按钮隐藏显示功能
2019/04/23 Javascript
[03:19]2016国际邀请赛中国区预选赛第四日TOP10镜头集锦
2016/07/01 DOTA
Python open()文件处理使用介绍
2014/11/30 Python
10个Python小技巧你值得拥有
2018/09/29 Python
win10下opencv-python特定版本手动安装与pip自动安装教程
2020/03/05 Python
快速解释如何使用pandas的inplace参数的使用
2020/07/23 Python
pycharm导入源码的具体步骤
2020/08/04 Python
Madewell美德威尔美国官网:美国休闲服饰品牌
2016/11/25 全球购物
德国最大的拼图在线商店:Puzzle.de
2016/12/17 全球购物
英国领先的鞋类零售商:Shoe Zone
2018/12/13 全球购物
英国在线发型和美容产品商店:Beauty Cutie
2019/04/27 全球购物
Visual-Click葡萄牙:欧洲领先的在线眼镜商
2020/02/17 全球购物
东方红海科技面试题软件测试方面
2012/02/08 面试题
2015年个人审计工作总结
2015/04/07 职场文书
KTV员工管理制度
2015/08/06 职场文书
小学五年级班主任工作经验交流材料
2015/11/02 职场文书
Pygame如何使用精灵和碰撞检测
2021/11/17 Python
原生JS实现分页
2022/04/19 Javascript