延迟锚标签“jump”
有没有办法使用 ASP.NET 和 jQuery 在页面加载时延迟“跳转”到锚标记?
实际问题是我有一个 jQuery 函数,它在页面加载时隐藏某个类的所有 div。 现在,当我在页面中间有一个锚标记并链接到该锚时,当页面加载时,“锚跳转”会在 jQuery 有机会隐藏 div 之前发生 -> 用户转到页面完全错误的部分。
问候, 阿罗拉
is there a way to delay the "jump" to an anchor tag on page load using ASP.NET and jQuery?
Actual problem is that i have a jQuery-function that on page load hides all divs of a certain class. Now, when i have an anchor tag in the middle of the page, and link to that anchor, when the page loads the "anchor jump" happens before jQuery has a chance to hide the divs -> user goes to completely wrong part of the page.
greets,
J.Arola
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
为什么使用 jQuery 来隐藏 div? 只需使用样式即可,div 从一开始就被隐藏:
Why do you use jQuery to hide the divs? Just use a style instead, and the divs are hidden from start:
也许您可以将位置的片段设置为空字符串并在页面加载时存储旧值,然后在完成所有操作后重置位置的片段。
ASP.Net 可能无能为力,因为片段不会发送到服务器。
Maybe you could set the location's fragment to an empty string and store the old value upon page load, then reset location's fragment when all's done.
ASP.Net probably can't help because the fragment won't be sent to the server.
如果您控制传入链接,则可以将
#hash
后缀替换为?query
后缀。 这将被浏览器忽略,但可以通过location.search
中的 JavaScript 访问。 隐藏 div 后,您可以在 JavaScript 中自行进行滚动。If you control the incoming links, you could replace the
#hash
suffix with a?query
suffix. That will be ignored by the browser, but is accessible to JavaScript inlocation.search
. You can then do the scroll yourself in JavaScript, after hiding your divs.