利用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 相关文章推荐
Firefox div高度自适应
Apr 28 Javascript
JavaScript Event学习第五章 高级事件注册模型
Feb 07 Javascript
阻止事件(取消浏览器对事件的默认行为并阻止其传播)
Nov 03 Javascript
javascript给span标签赋值的方法
Nov 26 Javascript
JavaScript类型检测之typeof 和 instanceof 的缺陷与优化
Jan 13 Javascript
bootstrap multiselect 多选功能实现方法
Jun 05 Javascript
javascript实现电脑和手机版样式切换
Nov 10 Javascript
生产制造追溯系统之再说条码打印
Jun 03 Javascript
详解vue-property-decorator使用手册
Jul 29 Javascript
更优雅的微信小程序骨架屏实现详解
Aug 07 Javascript
JS中的算法与数据结构之集合(Set)实例详解
Aug 20 Javascript
Webpack5正式发布,有哪些新特性
Oct 12 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初始化对象和析构函数的简单实例
2014/03/11 PHP
Windows下安装PHP单元测试环境PHPUnit图文教程
2014/10/24 PHP
php mysql操作mysql_connect连接数据库实例详解
2016/12/26 PHP
PHP实现基于栈的后缀表达式求值功能
2017/11/10 PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
2019/02/27 PHP
Asp.net下使用Jquery Ajax传送和接收DataTable的代码
2010/09/12 Javascript
jquery中one()方法的用法实例
2015/01/16 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(二)
2016/09/14 Javascript
vue实现添加标签demo示例代码
2017/01/21 Javascript
jQuery实现弹窗居中效果类似alert()
2017/02/27 Javascript
详解Web使用webpack构建前端项目
2017/09/23 Javascript
vue实现导航栏效果(选中状态刷新不消失)
2017/12/13 Javascript
Laravel整合Bootstrap 4的完整方案(推荐)
2018/01/25 Javascript
vue2.0 elementUI制作面包屑导航栏
2018/02/22 Javascript
vue-router beforeEach跳转路由验证用户登录状态
2018/12/26 Javascript
微信公众号H5之微信分享常见错误和问题(小结)
2019/11/14 Javascript
vue中实现点击按钮滚动到页面对应位置的方法(使用c3平滑属性实现)
2019/12/29 Javascript
[01:15:56]2018DOTA2亚洲邀请赛3月30日 小组赛A组 TNC VS Newbee
2018/03/31 DOTA
在Python的Flask框架中构建Web表单的教程
2016/06/04 Python
Python学习_几种存取xls/xlsx文件的方法总结
2018/05/03 Python
对python实现模板生成脚本的方法详解
2019/01/30 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
2020/02/29 Python
python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例
2020/03/18 Python
英国殿堂级有机护肤品牌:Rodial
2017/04/17 全球购物
皇家道尔顿官网:Royal Doulton
2017/12/06 全球购物
巴西体育用品商店:Lojão dos Esportes
2018/07/21 全球购物
德国家具折扣店:POCO
2020/02/28 全球购物
法律专业学生的自我评价
2014/02/07 职场文书
求职简历自我评价范例
2014/03/12 职场文书
银行竞聘演讲稿
2014/05/16 职场文书
2014年群众路线党员自我评议
2014/09/24 职场文书
因个人原因离职的辞职信范文
2015/05/12 职场文书
单身证明范本
2015/06/15 职场文书
python基础之类方法和静态方法
2021/10/24 Python
Redis如何实现验证码发送 以及限制每日发送次数
2022/04/18 Redis
Android在Sqlite3中的应用及多线程使用数据库的建议
2022/04/24 Java/Android