3

我正在构建一个简单的词汇表小部件,作为客户大型项目的一部分。词汇表的内容包含在一个可滚动的 div (overflow:auto) 中。每个字母都有一个与之关联的锚标记(#a、#b、#c 等)。可滚动 div 上方是一个 div,其中包含字母表中的每个字母。单击其中一个字母会将用户带到可滚动 div 中该字母的定义。这可行,但一个意想不到的副作用是整个窗口跳到锚点,这让用户感到困惑和烦恼。

这是小部件,被剥离了一点,并带有一堆<br />'s 让你明白我的意思。

http://www.nitrohandsome.com/clients/topics/glossary-widget/

我尝试了一些不同的 javascript 想法,我从一些谷歌搜索中拼凑起来,但没有任何效果,所以我只是摆脱了所有的东西,但实际的 go to anchor 代码(我是一个非常大的 JS 新手)。所以现在,点击任何字母都会执行这个 javascript 函数,并传递给它的锚标记:

    function jumpToAnchor(myAnchor) {
   window.location = String(window.location).replace(/\#.*$/, "") + myAnchor;
  }

我怎样才能做到这一点,以便每次单击链接时整个窗口都不会跳转?

提前致谢!

4

2 回答 2

4

如果你使用 jQuery,你可以试试scrollTo插件。此外,要仅编辑哈希部分或 URL,您可以这样做

function jumpToAnchor(myAnchor) {
   window.location.hash = myAnchor;
}
于 2009-12-14T03:31:33.197 回答
0

尝试使用 IFrame 而不是 Div 或使用 ScrollBy 创建特定函数。

于 2009-12-13T20:42:48.610 回答