将默认浏览器跳转到 #element_id 替换为 Effect.scrollTo?
所以,事情是这样的:
当有人点击我的网站链接并加载页面时,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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你可以去掉锚点(),所以如果你引用不存在的锚点,那么你的页面滚动将只是 0。你添加 onload 侦听器,检查是否DOM 加载后,url 中包含“#...”,如果这样做并且 id 有效,则 $('elementId').scrollTo();
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();
要停止
click
事件处理程序中的跳转,只需在末尾添加return false;
即可。跳转解决了。这段时间你应该一直在滚动。
为了完成这项任务,你做了哪些尝试?
To stop the jump in your
click
event handler just havereturn false;
at the end. Jump solved.You should have been scrolling during this time.
What have you tried to do this assignment?