利用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帮助之筛选查找 children([expr])
Jan 31 Javascript
jQuery把表单元素变为json对象
Nov 06 Javascript
js改变文章字体大小的实例代码
Nov 27 Javascript
基于JQuery实现滚动到页面底端时自动加载更多信息
Jan 31 Javascript
JS实现距离上次刷新已过多少秒示例
May 23 Javascript
浅谈javascript中onbeforeunload与onunload事件
Dec 10 Javascript
Bootstrap树形菜单插件TreeView.js使用方法详解
Nov 01 Javascript
jQuery实现select下拉框获取当前选中文本、值、索引
May 08 jQuery
javascript实现对话框功能警告(alert 消息对话框)确认(confirm 消息对话框)
May 07 Javascript
Vue项目总结之webpack常规打包优化方案
Jun 06 Javascript
如何使用原生Js实现随机点名详解
Jan 06 Javascript
Vue 数据响应式相关总结
Jan 28 Vue.js
浅析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学习之PHP表达式
2006/10/09 PHP
Codeigniter控制器controller继承问题实例分析
2016/01/19 PHP
php实现图片上传并利用ImageMagick生成缩略图
2016/03/14 PHP
Yii隐藏URL中index.php的方法
2016/07/12 PHP
PHP的PDO连接讲解
2019/01/24 PHP
PHP调用全国天气预报数据接口查询天气示例
2019/02/20 PHP
原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】
2019/03/07 PHP
一个可以显示阴历的JS代码
2007/03/05 Javascript
JavaScript中的property和attribute介绍
2011/12/26 Javascript
jquery改变disabled的boolean状态的三种方法
2013/12/13 Javascript
轻松掌握JavaScript单例模式
2016/08/25 Javascript
利用jquery实现验证输入的是否是数字、小数,包含保留几位小数
2016/12/07 Javascript
理解Angular的providers给Http添加默认headers
2017/07/04 Javascript
关于JavaScript中forEach和each用法浅析
2017/07/27 Javascript
基于Bootstrap实现城市三级联动
2017/11/23 Javascript
Node.js中DNS模块学习总结
2018/02/28 Javascript
el-select 下拉框多选实现全选的实现
2019/08/02 Javascript
vue中element 的upload组件发送请求给后端操作
2020/09/07 Javascript
vue radio单选框,获取当前项(每一项)的value值操作
2020/09/10 Javascript
.netcore+vue 实现压缩文件下载功能
2020/09/24 Javascript
python实现在windows下操作word的方法
2015/04/28 Python
详解 Python中LEGB和闭包及装饰器
2017/08/03 Python
Django中ORM外键和表的关系详解
2019/05/20 Python
Python利用matplotlib做图中图及次坐标轴的实例
2019/07/08 Python
Python二维数组实现求出3*3矩阵对角线元素的和示例
2019/11/29 Python
python标识符命名规范原理解析
2020/01/10 Python
Python使用循环神经网络解决文本分类问题的方法详解
2020/01/16 Python
基于jupyter代码无法在pycharm中运行的解决方法
2020/04/21 Python
Lime Crime官网:美国一家主打梦幻精灵系的彩妆品牌
2019/03/22 全球购物
英国的一家创新礼品和小工具零售商:Menkind
2019/08/24 全球购物
社区交通安全实施方案
2014/03/22 职场文书
超市促销活动总结
2014/07/01 职场文书
2014年干部作风建设总结
2014/10/23 职场文书
通知函格式范文
2015/04/27 职场文书
2015暑期工社会实践报告
2015/07/13 职场文书
mysql数据库入门第一步之创建表
2021/05/14 MySQL