延迟锚标签“jump”

发布于 2024-07-25 01:17:32 字数 207 浏览 2 评论 0原文

有没有办法使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

她说她爱他 2024-08-01 01:17:32

为什么使用 jQuery 来隐藏 div? 只需使用样式即可,div 从一开始就被隐藏:

<style type="text/css">
.TheClassToHide { display: none; }
</style>

Why do you use jQuery to hide the divs? Just use a style instead, and the divs are hidden from start:

<style type="text/css">
.TheClassToHide { display: none; }
</style>
天赋异禀 2024-08-01 01:17:32

也许您可以将位置的片段设置为空字符串并在页面加载时存储旧值,然后在完成所有操作后重置位置的片段。

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.

π浅易 2024-08-01 01:17:32

如果您控制传入链接,则可以将 #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 in location.search. You can then do the scroll yourself in JavaScript, after hiding your divs.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文