服务器与VPS
促销优惠信息

网站美化之纯代码为wordpress添加文章浮动目录

查看目录
文章目录隐藏
  1. 一、为wordpress悬浮目录添加JS文件
  2. 二、functions.php中调用JS文件
  3. 三、为文章浮动目录添加CSS样式:

网站的文章目录可以让用户更好的理解内容的重点和结构,对于用户体验很有好处,目前wwordpress实现文章目录的方法有很多,可以用插件生成目录,也可以用代码创建文章目录,今天分享的就是纯代码为wordpress添加文章浮动目录的方法。

一、为wordpress悬浮目录添加JS文件

在主题文件夹中创建一个新的JavaScript文件,例如“floating-menu.js”。

jQuery(document).ready(function($) {
// 创建目录
var toc = '';
var level = 0;
var maxLevel = 3;
$('#content').find('h1, h2, h3, h4, h5, h6').each(function() {
// 获取标题级别
level = parseInt(this.tagName.substring(1));
// 如果标题级别小于最大级别,则添加到目录中
if (level <= maxLevel) {
// 添加锚点
$(this).attr('id', 'heading-' + level + '-' + $(this).index());
// 添加目录项
toc += '<li class="toc-level-' + level + '"><a href="#heading-'%20+%20level%20+%20'-'%20+%20$(this).index()%20+%20'">' + $(this).text() + '</a></li>';
}
});
// 如果目录不为空,则创建悬浮目录
if (toc !== '') {
var tocHtml = '<ul class="toc">' + toc + '</ul>';
$('body').append('<div id="floating-menu">' + tocHtml + '</div>');
// 设置目录项的样式
$('#floating-menu .toc li').each(function() {
$(this).css('margin-left', (parseInt($(this).attr('class').substring(10)) - 1) * 20 + 'px');
});
// 监听窗口滚动事件
$(window).scroll(function() {
// 如果滚动距离大于目录位置,则显示悬浮目录
if ($(window).scrollTop() > $('#floating-menu').offset().top) {
$('#floating-menu').addClass('floating');
} else {
$('#floating-menu').removeClass('floating');
}
// 更新当前目录项的样式
$('#floating-menu .toc li').removeClass('current');
$('#content').find('h1, h2, h3, h4, h5, h6').each(function() {
// 获取标题级别
level = parseInt(this.tagName.substring(1));
// 如果标题级别小于最大级别,则更新当前目录项的样式
if (level <= maxLevel && $(window).scrollTop() >= $(this).offset().top - 20) {
$('#floating-menu .toc li').removeClass('current');
$('#floating-menu .toc li:nth-child(' + ($(this).index() + 1) + ')').addClass('current');
}
});
});
}
});

二、functions.php中调用JS文件

在wordpress主题的“functions.php”文件中添加以下代码,将JavaScript文件添加到主题中:

function b2_enqueue_scripts() {
wp_enqueue_script('floating-menu', get_template_directory_uri() . '/floating-menu.js', array('jquery'), '1.0', true);
}
add_action('wp_enqueue_scripts', 'b2_enqueue_scripts');

三、为文章浮动目录添加CSS样式:

在主题的“style.css”文件中添加以下代码,定义wordpress悬浮目录的样式:

#floating-menu {
position: fixed;
top: 50%;
left: 20px;
transform: translateY(-50%);
z-index: 9999;
}
#floating-menu.floating {
top: 20px;
}
#floating-menu .toc {
list-style: none;
margin: 0;
padding: 0;
}
#floating-menu .toc li {
margin-bottom: 5px;
transition: all 0.2s ease;
}
#floating-menu .toc li.current {
font-weight: bold;
}

保存文件并刷新网站,您应该可以看到一个文章悬浮目录出现在页面的左侧。当您滚动页面时,目录将保持固定位置并更新当前目录项的样式。

原文https://sjcnh.cn/1355.html

偶然看到这个方法,是原作者创建用于B2主题的,其他主题应该应该也可以用,只是要自己稍微修改一个路径,暂时没有时间实验,先收藏了,以后测试一下。

楚狂人 » 网站美化之纯代码为wordpress添加文章浮动目录

相关推荐

  • 暂无文章

评论 抢沙发

  • (必填)
  • (必填)

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏