我正在为客户的大型项目构建一个简单的词汇表小部件.词汇表的内容包含在可滚动的div中(溢出:自动).每个字母都有一个与之关联的锚标记(#a,#b,#c等).可滚动div上方是一个div,其中包含字母表中的每个字母.单击这些字母之一可将用户带到可滚动div中该字母的定义.这是可行的,但意外的副作用是整个窗口会跳到锚点,这会使用户感到困惑和烦恼.
这是一个小部件,经过了简化,并带有一堆< br /> ;,让您明白我的意思. http://www.nitrohandsome.com/clients/topics/glossary-widget/
我尝试了一些通过Googling拼凑而成的不同javascript想法,但是没有任何效果,所以我摆脱了所有东西,除了实际的锚定代码(我是一个相当大的JS新手).因此,现在,单击任意字母即可执行此javascript函数,并将锚标记传递给它:
function jumpToAnchor(myAnchor) {
window.location = String(window.location).replace(/\#.*$/, "") + myAnchor;
}
我如何才能做到这一点,以便每次单击链接时整个窗口都不会跳转?
提前致谢!
解决方法:
如果您使用的是jQuery,则可以尝试使用scrollTo插件.另外,仅编辑哈希部分或URL,您可以
function jumpToAnchor(myAnchor) {
window.location.hash = myAnchor;
}