我走到了尽头。我正在进行水平滚动页面。我在主菜单导航中使用此代码在页面标记之间滚动流畅。 Like here
$('ul.menu a').bind('click',function(event){
var $anchor = $menuLink;
$('html, body').stop().animate({
scrollLeft: $($anchor.attr('href')).offset().left
}, time);
$('ul.menu a').each(function(){
$this = $(this);
$this.removeClass('active');
});
$anchor.addClass('active');
});
我在页面的介绍中也有CSS动画,它会在页面加载时隐藏一些元素。但是当刷新页面时我需要这些元素,并且只应为第一页加载加载简介。如果我在点击主菜单导航链接事件
后添加一些代码,我想通了window.location.hash = $(this).attr("href");
当页面将被刷新时,它将检查url上的当前哈希,然后加载css动画,因为if语句依赖于hash。
但是页面无法在标签页面之间水平流畅地设置动画。由于更改了网址中的哈希,页面正在刷新。
清楚吗?任何的想法?问题是因为这个css动画而开始的。我在开始时隐藏主菜单并在几秒钟的动画后显示它。这是在页面刷新后的所有时间。我当时也在考虑使用cookies,但我觉得它有风险,因为如果用户不同意cookie,那么动画将开始每一页的重新加载,这将导致隐藏主导航。
答案 0 :(得分:0)
您正在寻找的示例代码是:
window.history.pushState("object or string", "Title", "/new-url");
有关更多信息,请参阅链接Updating address bar with new URL without hash or reloading the page