我在页面中有一些锚点,当我使用锚点加载页面时:
http://localhost:1820/Home/FAQ#question4
jQuery Mobile在1-3秒后自动滚动到页面顶部。我无法向$(document).ready()
添加修复,因为此事件在滚动之前触发(在加载所有内容后显示滚动 - 使用其他社交按钮图像,脚本等)。
当我删除jquery.mobile-1.1.1.js脚本时 - bug消失了。 当我删除除jQuery和jQuery mobile之外的所有脚本 - bug仍然存在。所以问题应该在jQuery Mobile脚本中。
我该如何解决问题?
我用Chrome和Opera测试它。
P.S。我设置了$.mobile.ajaxEnabled = false;
,因此我的网站不使用Ajax来加载页面。
答案 0 :(得分:1)
jQueryMobile默认使用'#'字符来表示页面,而不是锚点(请参阅documentation中的“在多页文档中链接”一节)。
尝试将rel="external"
或data-ajax="false"
添加到该页面的链接,如文档中所述。
答案 1 :(得分:1)
$.mobile.silentScroll()
可以解决您的问题。您可以在页面加载时捕获哈希部分并使用它自动滚动到您需要将页面带到的部分。我最近回答了类似的问题。看看它是否对你有所帮助 jQuery Mobile Tabs and Anchors