Jquery:当#ID位于url末尾时,页面出现时该元素位于浏览器屏幕的顶部,我们可以使其滚动到#ID元素吗?
转到我在问题末尾链接的页面,将您发送到 stackoverflow 主页面,但浏览器不会显示页面顶部,它会查找 #h-recent-badges
元素并在该元素位置开始查看页面。
是否可以做到这一点,如果有人通过文章底部评论之一的链接访问我的网站,该人将从页面顶部开始,然后向下滚动到 #ID ,而不是仅仅出现在#ID 处?
当点击页面上的锚链接时,我可以使页面滚动到#ID,但我说的是当有人来自谷歌并带有指向元素#ID 的链接时。
Going to the page I have linked at the end of my question with send you to the main stackoverflow page, but the browser wont display the top of the page, it will look for the #h-recent-badges
element and start your viewing of the page at that elements position.
Is it possible to make it so if someone comes to my site with a link to one of the comments at the bottom of the article, that it will start the person off at the top of the page, then scroll it down to the #ID, instead of just appearing at the #ID?
I can make the page scroll to an #ID when an anchor link is clicked on the page, but i'm talking about when someone comes from google with a link to an element #ID.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
查看 jquery 查询字符串插件:
http://plugins.jquery.com/project/query-object
最新版本有哈希参数解析。
你想要做的是在页面加载后获取哈希参数,然后执行类似的操作
$.scrollTo($("#" + hashValue)).
查看http://flesler.blogspot.com/2007/10/jqueryscrollto.html 获取scrollTo 教程。
Check out the jquery Query String plugin:
http://plugins.jquery.com/project/query-object
The latest version has hash parameter parsing.
What you want to do is to grab the hash parameter once the page loads, then do something like
$.scrollTo($("#" + hashValue)).
Check out http://flesler.blogspot.com/2007/10/jqueryscrollto.html for a scrollTo tutorial.
我在这里可能是错的,但我相信这种浏览器行为取决于网站加载的速度...
例如,如果我的连接速度较慢,则需要一些时间才能将其加载到可用评论的程度 -只有这样它才能移动到它们(不是在它们实际出现在页面上之前)
您仍然可以尝试使用 jQuery 的 scrollTo 插件 在页面加载时尝试手动滚动页面(可能使用 PreventDefault?)
I might be wrong here but I believe this browser behavior is dependant on the speed which the website is loaded at...
for example, if I have a slower connection, it will take time to load it to the point where comments are available - and only THEN it can move to them (not before they actually apper on the page)
you can still try and use jQuery's scrollTo plugin to try and scroll the page manually (probably using preventDefault?) when page loads