1

我已经在 SO 上查看了其他页面跳转问题,但没有找到任何匹配的内容,所以我们开始...

我正在构建一个使用 CSS3 转换和一堆哈希链接的网站,而不是使用 jQuery 加载/转换不同的页面/元素(只是为了好玩/证明 I/CSS 可以)。我遇到的问题是,当我单击其中一个链接时,滚动条会无缘无故地自动向下跳约 100 像素。

我不记得它一直这样做,所以也许我的 CSS 中的某些东西变得很奇怪。我还在<a name>顶部添加了一些标签以尝试将其拉回,但这也不起作用。我尝试过添加onclick="window.scrollTo(0,0);"链接,但这也不起作用:(

任何想法/帮助都会很棒,因为每次导航到页面时都必须滚动非常烦人/可用性差。您可以在此处查看该页面。

系统信息:

浏览器:Chrome 16.0.912.75、FireFox 9.0.1、Opera 11.6

操作系统:Windows 7

4

2 回答 2

2

我不熟悉 CSS3 过渡,所以我不完全理解你在做什么。然而:

  1. 我假设您认为不受欢迎的这种行为与浏览器的本机行为有关,即根据 URL 中的片段标识符将元素滚动到视图中。我不确定用<a name>元素覆盖它是否会起作用,但无论如何,您name通过在它们前面加上哈希值来错误地设置值。<a name="about"></a>例如不应该<a name="#about"></a>

  2. 至少出于调试目的,我会尝试添加一个click事件侦听器并调用preventDefault()它以查看它是否停止滚动。

  3. 说明您遇到问题的浏览器(包括操作系统和版本)会很有帮助。

于 2012-01-20T18:42:42.113 回答
0

请注意,它不只是跳到一个随机的地方,它是跳到具有哈希 ID 的元素。(尝试添加#footer到您的 url 的末尾)我认为如果不使用preventDefaultJavaScript,您将无法解决这个问题。

于 2012-01-20T18:41:29.153 回答