将默认浏览器跳转到 #element_id 替换为 Effect.scrollTo?

发布于 2024-08-09 18:07:41 字数 170 浏览 3 评论 0原文

所以,事情是这样的:

当有人点击我的网站链接并加载页面时,prototypeJS 应该观察 URL 中是否有 #elementId,并阻止浏览器跳转到该元素,并使用scrollTo() 来执行此操作。

我以前见过这个,但只用过 jQuery,但不知道如何用prototypeJS 来做到这一点。

so, the thing is :

when someone clicks on a link to my website and page loads, prototypeJS is supposed to observe if there is a #elementId in the URL and stop browser from jumping to the element and do it with scrollTo().

I've seen this before but only with jQuery, but couldn't figure out how to do it with prototypeJS.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(2

如痴如狂 2024-08-16 18:07:41

You can get rid of anchors (<a href=".." name="elementId">), so if you refer to not existing one then you page scroll gonna be just 0. You add onload listener, check if you have "#..." in url once DOM is loaded, if you do and id is valid then $('elementId').scrollTo();

又爬满兰若 2024-08-16 18:07:41

要停止 click 事件处理程序中的跳转,只需在末尾添加 return false; 即可。跳转解决了。

这段时间你应该一直在滚动。

为了完成这项任务,你做了哪些尝试?

To stop the jump in your click event handler just have return false; at the end. Jump solved.

You should have been scrolling during this time.

What have you tried to do this assignment?

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