跳转到锚标记,而不在URL中显示主题标签
我正在使用jQuery在用户点击post标题时在特定的主题标签上加载页面(通过body类中的onload
函数)。 标签显然显示在url中。 我想知道是否有办法隐藏主题标签使URL混乱。 有些搜索并没有提出太多。
function goToAnchor() { location.href = "#post"; }
如下所示: http : //djpate.com/2009/10/07/animated-scroll-to-anchorid-function-with-jquery/
function goToByScroll(id){ $('html,body').animate({scrollTop: $("#"+id).offset().top},'slow'); }
只需传递要滚动的元素的id即可。
您可以将click事件绑定到此特定类型的锚点,并防止其上的默认值:
$('.anchorClass').on('click', function(e) { e.preventDefault(); // rest of stuff });
“其他东西”意味着找到某种类型的插件或代码示例,它们将跳转页面。 如果你想让它顺利滚动,那么有一个很受欢迎的scrollTo插件。 甚至可能是scrollTo插件负责默认的预防。
[更新]
杰夫的建议(假设它有效)是“剩下的东西”,这两个答案中更有用。 ;-)但是防止违约仍然很重要。
我想你可以使用.htaccess文件。 在那里你可以让一些url链接在同一个地址。
例如, fff.com/fff
和fff.com
以及fff.com#anchor
可以在浏览器的选项卡上显示为fff.com
。
跳转/平滑滚动到锚标记,而不在URL中显示主题标签
尝试演示
function scrollSmoothTo(elementId) { var element = document.getElementById(elementId); element.scrollIntoView({ block: 'start', behavior: 'smooth' }); }
#userdiv { margin-top: 200px; width: 200px; height: 400px; border: 1px solid red; } a { color: #337ab7; cursor: pointer; } a:hover { text-decoration: underline; }
Scroll to userdiv Lorem ipsum this is a random text