0

真的,真的希望有人能帮助我!如果你这样做了,非常感谢!:)

我有两页...一页名为index.php,一页名为Portfolio.php。我的标题(在每个页面上都相同)包含一些将它们重定向到portfolio.php页面(portfolio.php# blogg)的锚点。

我还有一个用于平滑滚动的 javascript 代码(这应该适用于所有页面),但是当我在另一个页面中时,它不适用于 header 锚链接

例如,当我在index.php页面中按“ portfolio.php#blogg ”时,我该怎么做才能让javascript正常工作?

这是我的javascript:

window.addEvent('domready',function() { new SmoothScroll({ duration: 800 }); });
4

2 回答 2

0

嗯....如果我理解正确,问题是浏览器在从另一个页面到达时跳转到片段锚点位置,然后再加载 SmoothScroll 对象。首先想到的是使用会话或 cookie 的解决方案。

当用户在索引页面上并单击应滚动到#blogg锚点的投资组合链接时:不要将主题标签片段添加到链接的 URL,而是保存一个 cookie,指示该页面应滚动并直接链接到投资组合页面的顶部。

然后,在投资组合页面domready事件中,加载 SmoothScroll 对象,检查 cookie#blogg是否存在,如果存在则滚动到锚点,然后删除 cookie。

于 2010-11-23T13:41:32.810 回答
0

您在这里没有给我们太多信息,但我假设那SmoothScroll是来自 MooTools 的信息?看看这个:http ://davidwalsh.name/mootools-onload-smoothscroll

window.addEvent(‘domready’, function() {
    new SmoothScroll({ duration:700 }, window);
    var el = window.location.hash.substring(1); // the hash
    if(el) {
        window.scrollTo(0,0);
        var scroll = new Fx.Scroll(
            window,
            { wait: false, duration: 700, transition: Fx.Transitions.Quad.easeInOut }
        );
        scroll.toElement(el);
    }
});
于 2010-11-23T13:45:35.397 回答