我正在使用http://kirkas.ch/ascensor中的一个名为Ascensor的插件,它基本上是一个帮助我构建单个页面应用程序的工具。
然而,我有一个问题,我不知道如何解决。
我的所有内容都将在我的<div id="ascensorBuilding">中列表
<div id="ascensorBuilding">
<div class="floor floor-1">
<span class="text">Floor 1</span>
</div>
<div class="floor floor-2">
<span class="text">Floor 2</span>
</div>
<div class="floor floor-3">
<span class="text">Floor 3</span>
</div>
<div class="floor floor-4">
<span class="text">Floor 4</span>
</div>
<div class="floor floor-5">
<span class="text">Floor 5</span>
</div>
<div class="floor floor-6">
<span class="text">Floor 6</span>
</div>
<div class="floor floor-7">
<span class="text">Floor 7</span>
</div>
</div>我的楼层链接:
<nav>
<ul class="links-to-floor">
<li><a>Floor 1</a></li>
<li><a>Floor 2</a></li>
<li><a>Floor 3</a></li>
<li><a>Floor 4</a></li>
<li><a>Floor 5</a></li>
<li><a>Floor 6</a></li>
<li><a>Floor 7</a></li>
</ul>
</nav>然后我使用这个脚本在“页面”之间进行更改
var ascensor = $('#ascensorBuilding').ascensor({ascensorFloorName:["Home", "About", "HTML" , "Jquery" , "CSS", "Smartphone", "End"], direction: [[0,0],[0,1],[0,2],[1,0],[1,1],[1,2],[2,0]]});
var ascensorInstance = $('#ascensorBuilding').data('ascensor');
$(".links-to-floor li").click(function(event, index) {
ascensorInstance.scrollToFloor($(this).index());
});
$(".links-to-floor li:eq("+ ascensor.data("current-floor") +")").addClass("selected");
ascensor.on("scrollStart", function(event, floor){
$(".links-to-floor li").removeClass("selected");
$(".links-to-floor li:eq("+floor.to+")").addClass("selected");
});如您所见,我在我的url中添加了一个地板名。因此,我将从www.mysite.com/index.html#home开始,如果我转到另一个页面,例如,它将是www.mysite.com/index.html#about。
如果我手动将www.mysite.com/index.html#about放在地址栏中,我也会转到那个特定的页面。
--但我的问题是,如果我在楼层周围单击,就不会将页面添加到浏览器历史记录。因此,如果我决定点击浏览器返回按钮,我将返回网站之前,我进入我的网站。
如何将单击添加到浏览器历史记录中?
发布于 2014-05-08 12:13:34
您可以自己操作Javascript历史对象:entries
https://stackoverflow.com/questions/23541380
复制相似问题