【发布时间】:2021-01-22 16:29:11
【问题描述】:
我正在构建一个包含不同部分的个人单页 HTML 模板,例如关于我、简历、作品集等。 主题使用如下导航结构:
<ul class="navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="#About">About Me</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#Portfolio">Portfolio</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#Resume">Resume</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#Blog">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#Contact">Contact</a>
</li>
</ul>
不用说,每次单击菜单项时,页面都会移动到当前文档中的相应部分。
但是,我决定为名为 single-post.html 的博客文章创建一个单独的 HTML 文件,该文件使用完全相同的导航结构。
因此,我接下来要做的是将用户重定向回index.html,并在他们单击任何菜单项时将其移动到所选部分。换句话说,如果用户正在查看single-post.html 并点击<a class="nav-link" href="#Resume">Resume</a>,他们将被移至index.html 或主题的主页,并立即移至简历部分。
这就是我尝试在 jQuery 中使用 trigger() 的方式:
$('.single .nav-link').click(function(event){
event.preventDefault();
var pageID = $(this).attr('href').split('#');
var selectedPage = pageID[1];
window.location.href = 'index.html';
$('.nav-link[href="#'+ selectedPage +'"]').trigger('click');
});
注意:类single分配给single-post.html的<body>。
代码最终将用户重定向到索引文件,但所选部分不会有active 状态。
感谢您对此提供的帮助。
【问题讨论】: