2

我在页面中有一些锚点,当我使用锚点加载页面时:

http://localhost:1820/Home/FAQ#question4

jQuery Mobile 在 1-3 秒后自动滚动到页面顶部。我无法添加修复程序,$(document).ready()因为此事件在滚动之前触发(加载所有内容后出现滚动 - 带有额外的社交按钮图像、脚本等)。

当我删除 jquery.mobile-1.1.1.js 脚本时 - 错误消失了。当我删除除 jQuery 和 jQuery mobile 之外的所有脚本时 - 错误仍然存​​在。所以问题应该出在 jQuery Mobile 脚本中。

我该如何解决问题?

我使用 Chrome 和 Opera 来测试它。

PS 我设置$.mobile.ajaxEnabled = false;了,所以我的网站不使用 Ajax 来加载页面。

4

2 回答 2

1

jQueryMobile 默认使用 '#' 字符来指示页面,而不是锚点(请参阅文档中的“在多页文档中链接”部分

按照文档中的说明,尝试将rel="external"或添加data-ajax="false"到页面的链接。

于 2012-09-12T13:37:58.507 回答
1
$.mobile.silentScroll()

可以解决您的问题。您可以在页面加载时捕获 Hash 部分,并使用它自动滚动到您需要将页面带到的部分。我最近回答了一个类似的问题。看看它是否对您有帮助 jQuery Mobile 选项卡和锚点

于 2012-09-13T00:02:00.033 回答