我真的,真的希望有人能帮助我!如果你这么做,谢谢你! :)
我有两个页面...一个名为 index.php ,另一个名为 portfolio.php 。 我的标题(每页都相同)包含一些锚点,将其重新标记为 portfolio.php 页面( portfolio.php#blogg )。
我还有平滑滚动的javascript代码(这应该适用于所有页面),但是当我在另一个页面然后投资组合时它不适用于标题锚链接.PHP
如果我在 index.php portfolio.php#blogg ”,我该怎么做才能让 javascript 正常运行>页面?
继承我的javascript:
window.addEvent('domready',function() { new SmoothScroll({ duration: 800 }); });
答案 0 :(得分:0)
嗯....问题,如果我理解正确的话,浏览器在加载SmoothScroll对象之前从另一个页面到达时跳转到片段锚点位置。首先想到的是使用会话或cookie的解决方案。
当用户在索引页面上并单击应该滚动到#blogg
锚点的投资组合的链接时:不是将hashtag片段添加到链接的URL,而是保存指示页面的cookie应该滚动并直接链接到投资组合页面的顶部。
然后,在项目组合页面domready
事件中,加载SmoothScroll对象,检查是否存在cookie,滚动到#blogg
锚点(如果存在),然后删除cookie。
答案 1 :(得分: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);
}
});