我需要一些帮助如何保持保持当前锚链接活动后刷新页面。实际上,我有这个垂直的navbar菜单(http://prntscr.com/fz9yct),默认情况下,我将类active添加到中,所以当我们打开页面时,navbar看起来就像您在屏幕截图中看到的那样。
当我滚动,或单击任何其他navbar列表项,一切工作良好,平滑滚动到适当的部分,并删除类活动从上一个锚链接,并添加到适当的。
问题是当我刷新page类active时,active类并没有保持在它应该在的位置,而是分配给#home锚点链接,尽管内容保持在刷新前的位置。你能帮我把它修好吗?
我使用$(window).ON('beforeunload',function(){
尝试了一些解决方案,但不起作用
null
<div class="main-menu-container">
<nav class="main-menu" id="navbar" aria-label="Main Menu">
<ul role="menubar" class="center">
<li class="menubar__item">
<a href="#home" class="active block" title="Home">
<span class="menubar__item--icon block">
SVG ICON HERE
</span>
<span class="menubar__item--text">Home</span>
</a>
</li>
<li class="menubar__item">
<a href="#about" class="block" title="About">
<span class="menubar__item--icon block">
SVG ICON HERE
</span>
<span class="menubar__item--text">About</span>
</a>
</li>
<li class="menubar__item">
<a href="#experience" class="block" title="My Experience">
<span class="menubar__item--icon block">
SVG ICON HERE
</span>
<span class="menubar__item--text">Experience</span>
</a>
</li>
<li class="menubar__item">
<a href="#services" class="block" title="What I provide">
<span class="menubar__item--icon block">
SVG ICON HERE
</span>
<span class="menubar__item--text">Services</span>
</a>
</li>
<li class="menubar__item">
<a href="#contact" class="block" title="Get in touch">
<span class="menubar__item--icon block">
SVG ICON HERE
</span>
<span class="text">Contact</span>
</a>
</li>
</ul>
<!-- /.menubar end -->
</nav>
<!-- /.main-menu end -->
</div>
<!-- / .main-menu-container end -->
null
null
$(document).ready(function() {
$(document).on("scroll", onScroll);
$('a[href*="#"]:not([href="#"])').click(function() {
if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
if (target.length && $(this).attr("href") == '#home') {
$("html, body").animate({
scrollTop: target.offset().top
}, 1000);
} else {
$("html, body").animate({
scrollTop: target.offset().top + 2
}, 1000);
}
return false;
}
});
});
function onScroll(event) {
var scrollPos = $(document).scrollTop();
$('#navbar a').each(function() {
var currLink = $(this);
var refElement = $(currLink.attr("href"));
if (refElement.offset().top <= scrollPos && refElement.offset().top + refElement.height() > scrollPos) {
$('#navbar ul li a').removeClass("active");
currLink.addClass("active");
} else {
currLink.removeClass("active");
}
});
}
null
看起来您使用了该答案,但单击时忘记删除类。
$('a').each(function () {
$(this).removeClass('active');
})
$(this).addClass('active');
问题内容: 我的页面上有几个超链接。用户访问我的帮助部分时将阅读的常见问题解答。 使用锚点链接,我可以使页面滚动到锚点并在那里引导用户。 有没有办法使滚动平滑? 但是请注意,他正在使用自定义JavaScript库。也许jQuery提供了类似的功能? 问题答案: 现在有一种本地方法可以做到这一点: 当前仅最先进的浏览器才支持此功能。 对于较旧的浏览器支持,可以使用以下jQuery技术: 如果您的目标
问题内容: 有没有一种方法可以使用jQuery向下滚动到锚链接? 喜欢: ? 问题答案: 这是我的方法: 然后,您只需要像这样创建锚:
问题内容: 我想让浏览器仅使用JavaScript即可将页面滚动到给定的锚点。 我在HTML代码中指定了或属性: 要么 通过导航到,我希望获得与您相同的效果。应滚动页面,使锚点位于页面可见部分的顶部附近。 问题答案: 完全不需要jQuery!
问题内容: 我有一系列使用锚机制的链接: 我正在使用以下CSS: 一切正常。但是,当然,当我们单击链接时,它会从一个部分跳到下一个部分。因此,我想使用某种滚动到所选部分的开头进行平滑过渡。 我想我在Stackoverflow上读到,CSS3尚不可能(但现在),但是我想确认一下,并且我想知道什么是“可能的”解决方案。我很高兴使用JS,但不能使用jQuery。我试图在链接上使用on click功能,检
问题内容: 有人可以告诉我我在做什么错吗?我需要在一段时间后刷新页面,但是它会刷新到页面顶部,我需要不更改页面位置!所以这是我现在无法使用的,是meta标签吗?这是我所没有的仍然不刷新必须做错了什么吗? 这是我本来的… 阅读了一些初始答案后,我将其更改为… 问题答案: 更新 您可以使用下面提到的方法代替下面的强制技巧。 将HTML替换为:
我需要设置一个ng click事件,以便它加载一个新页面,然后,一旦页面加载完毕,滚动到页面上的一个定位点。我已经尝试了这篇文章中提出的每一个解决方案,但我无法让它正常工作。 大多数解决方案都围绕着滚动到已经加载的页面上的锚定。我需要在加载新页面后出现滚动。 这表示“配置文件卡”中的按钮。当用户点击卡片时,它会将他们带到一个个人资料页面。但是,当他们单击按钮时,它需要将他们带到该配置文件页面的#j