【发布时间】:2014-02-11 18:05:44
【问题描述】:
当我在 URL 中加载带有井号标记的页面时,该页面会加载然后跳转到锚标记。有什么方法可以防止这种“跳转”,或者直接将页面加载到锚标签,或者至少让滚动流畅?
我在 Chrome 和 Firefox 中看到了这个问题,但在 IE 中没有。
【问题讨论】:
-
如果您在内部链接(即在页面内),您可以添加事件处理程序以实现平滑滚动。但是,如果用户直接输入这样的链接en.wikipedia.org/wiki/HTML#Elements,我怀疑您是否可以控制浏览器如何跳转到锚点
#Elements。 -
@threeFourOneSixOneThree:我不是在谈论内部链接。但是,维基百科页面直接加载到锚点(或至少没有任何可见的跳转)。
-
嗨@dmr。页面跳转没有办法。由于加载方式,某些页面的跳转似乎较少,但通过哈希标签链接到某个部分的行为是跨浏览器的标准行为。例如,即使是维基百科对我来说也有明显的跳跃。您可以使用 jquery 来增强此行为以使滚动动画化(因此更平滑),或者通过改善整个页面的加载时间来最小化跳转(以允许浏览器更快地跳转到该部分,而不是在它准备好时坐在那里)..
-
我刚刚有了一个想法。如果您的页面没有锚点或带有锚点名称的 ID,您可以通过在页面加载后将锚点动态添加到 dom-tree 来平滑滚动。
标签: javascript jquery anchor pageload