利用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 相关文章推荐
js DataSet数据源处理代码
Mar 29 Javascript
js 复制或插入Html的实现方法小结
May 19 Javascript
JavaScript中的Object对象学习教程
May 20 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(二)
Sep 14 Javascript
JS实现图文并茂的tab选项卡效果示例【附demo源码下载】
Sep 21 Javascript
JS焦点图,JS 多个页面放多个焦点图的实例
Dec 08 Javascript
vue实现列表的添加点击
Dec 29 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
Feb 28 Javascript
客户端(vue框架)与服务器(koa框架)通信及服务器跨域配置详解
Aug 26 Javascript
JavaScript中重名的函数与对象示例详析
Sep 28 Javascript
详解vue axios二次封装
Jul 22 Javascript
微信小程序实现九宫格抽奖
Apr 15 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读取mysql的简单实例
2014/01/15 PHP
PHP基于imap获取邮件实例
2014/11/11 PHP
php操作xml并将其插入数据库的实现方法
2016/09/08 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
2019/11/24 PHP
js将控件隐藏的方法及display属性介绍
2013/07/04 Javascript
Select标签下拉列表二级联动级联实例代码
2014/02/07 Javascript
html+javascript+bootstrap实现层级多选框全层全选和多选功能
2017/03/09 Javascript
微信小程序授权获取用户详细信息openid的实例详解
2017/09/20 Javascript
JS实现关键词高亮显示正则匹配
2018/06/22 Javascript
在小程序中使用canvas的方法示例
2018/09/17 Javascript
angularJs自定义过滤器实现手机号信息隐藏的方法
2018/10/08 Javascript
node命令行工具之实现项目工程自动初始化的标准流程
2019/08/12 Javascript
Vue切换Tab动态渲染组件的操作
2020/09/21 Javascript
用Nodejs实现在终端中炒股的实现
2020/10/18 NodeJs
[02:51]2018年度DOTA2最佳中单位选手-完美盛典
2018/12/17 DOTA
[01:04:05]Mineski vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
[01:32]TI珍贵瞬间系列(一)
2020/08/26 DOTA
使用Python下载歌词并嵌入歌曲文件中的实现代码
2015/11/13 Python
Python数据结构与算法之列表(链表,linked list)简单实现
2017/10/30 Python
Python最火、R极具潜力 2017机器学习调查报告
2017/12/11 Python
python登录WeChat 实现自动回复实例详解
2019/05/28 Python
python智联招聘爬虫并导入到excel代码实例
2019/09/09 Python
Python使用matplotlib 模块scatter方法画散点图示例
2019/09/27 Python
python 实现多维数组转向量
2019/11/30 Python
python实现贪吃蛇双人大战
2020/04/18 Python
Numpy中np.random.rand()和np.random.randn() 用法和区别详解
2020/10/23 Python
python包的导入方式总结
2021/03/02 Python
浏览器实现移动端高性能css3动画(开启gpu加速)
2013/12/23 HTML / CSS
CSS3实现文字波浪线效果示例代码
2016/11/20 HTML / CSS
GOLFINO英国官网:高尔夫服装
2020/04/11 全球购物
应届生幼儿园求职信
2013/11/12 职场文书
大学运动会加油稿200字(5篇)
2014/09/27 职场文书
优秀教师申报材料
2014/12/16 职场文书
2015教师个人德育工作总结
2015/07/22 职场文书
2016预备党员培训心得体会
2016/01/08 职场文书
springboot集成redis存对象乱码的问题及解决
2022/06/16 Java/Android