**更新** 知道了:如果有人知道如何做到这一点。我使用了以下代码。将其粘贴在标题中,以便随处触发。
history.pushState("", document.title, window.location.pathname);
致谢这个答案https://stackoverflow.com/a/16719657/4367486
#item_1只是瞬间可见,然后将其删除。我很高兴。
我在想,这可能吗?我有一个单页设计,有3页不在首页。但我不想链接到首页并在其后面加www.example.com/#something
。但是我想让访问者回到他们所在的页面部分。
这是我的菜单结构:
<ul class="section table-of-contents hide-on-med-and-down">
<li><a href="<?php echo site_url(); ?>" style="display:none;">Home</a></li>
<li><a href="<?php echo site_url(); ?>/#item_1">Item 1</a></li>
<li><a href="<?php echo site_url(); ?>/#item_2">Item 2</a></li>
<li><a href="<?php echo site_url(); ?>/#item_3">Item 3</a></li>
<li><a href="<?php echo site_url(); ?>/#item_4">Item 4</a></li>
<li><a href="<?php echo site_url(); ?>/#item_5">Item 5</a></li>
<li><a href="<?php echo site_url(); ?>/#item_6">Item 6</a></li>
<li><a href="<?php echo site_url(); ?>/#item_7">Item 7</a></li>
</ul>
我的页面结构:
<article id="item_1" class="scrollspy">
<div id="id_item_1">
<div class="container">
<h2><?php the_title(); ?></h2>
<div class="row">
.....
</div>
</div>
</div>
</article>
<article id="item_2" class="scrollspy">
<div id="id_item_2">
<div class="container">
<h2><?php the_title(); ?></h2>
<div class="row">
.....
</div>
</div>
</div>
</article>
所以我使用锚点跳转到首页上的点。
这是平滑滚动的片段。但它针对页面上的所有A元素。是否有可能重建&#34;这段代码可以做我想要的,return falst;
所有A元素......
$(function() {
$('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) {
$('html, body').animate({
scrollTop: target.offset().top
}, 1000);
return false;
}
}
});
});
我猜我必须使用javascript,但代码会是什么样子? 谢谢你的帮助!
答案 0 :(得分:1)
尝试使用jquery-hashchange js插件。希望这会有所帮助。
您还可以尝试非常适合1页网站的AngularJS。在这里看一个例子:https://docs.angularjs.org/api/ngRoute/directive/ngView
另一种方法是使用HTML5 onpopstate
事件
window.onpopstate = function(event) {
alert("location: " + document.location + ", state: " + JSON.stringify(event.state));
};
这是一个很好的例子:
https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onpopstate
答案 1 :(得分:0)
'<script>
function abc()
{
window.history.back();
}
</script>'
答案 2 :(得分:0)
如果有人知道如何做到这一点。我使用了以下代码。将其粘贴在标题中,以便随处触发。
history.pushState("", document.title, window.location.pathname);
致谢这个答案https://stackoverflow.com/a/16719657/4367486
#item_1只是瞬间可见,然后被移除。我很高兴。