Css 长页div:使用Effect.toggle在底部展开div:页面滚动回顶部

Css 长页div:使用Effect.toggle在底部展开div:页面滚动回顶部,css,scroll,scriptaculous,Css,Scroll,Scriptaculous,我有一页这样的东西(是的,我包括了scriptaculous javascripts,因为切换确实有效): 一些看得见的东西1 一些额外的和最初看不见的东西 一些看得见的东西2 一些额外的和最初看不见的东西 一些看得见的东西99 一些额外的和最初看不见的东西 当我点击位于页面底部的id=“thing99”处的“More99”链接时,id=“extra99”处的div显示为它应该显示的状态,但是页面会自动滚动回顶部 当我点击顶部的“More1”链接时,它会在顶部保持焦点 是否有任何方法可以防止

我有一页这样的东西(是的,我包括了scriptaculous javascripts,因为切换确实有效):


一些看得见的东西1

一些额外的和最初看不见的东西

一些看得见的东西2

一些额外的和最初看不见的东西

一些看得见的东西99

一些额外的和最初看不见的东西

当我点击位于页面底部的id=“thing99”处的“More99”链接时,id=“extra99”处的div显示为它应该显示的状态,但是页面会自动滚动回顶部

当我点击顶部的“More1”链接时,它会在顶部保持焦点


是否有任何方法可以防止页面滚动回到顶部和/或重新聚焦到我刚才单击的位置?我不想向下滚动,找出我刚才看到的是哪一个

尝试
返回false效果之后编码>切换()呼叫

<a href="#" onclick="Effect.toggle('extra99'); return false;">More99</a>


这不是处理这个问题的理想方法,但它应该可以解决您眼前的问题。理想情况下,您可以从HTML中删除所有Javascript,并删除所有
onclick
属性,从远程Javascript块处理所有内容。

Jonathan&Tatu让我走上了正确的道路。我尝试了“return false”,它在某些时候起了作用

有了“returnfalse”的概念,我搜索了谷歌,偶然发现了hrefs和returnfalse

那个“#”标签一直让我回到页面顶部。我尝试了href=“”,但没有“return false”,它按预期工作,但它也随机重新加载了页面

以下解决方案始终满足了我的需求:

<a href="" onclick="Effect.toggle('extra99'); return false;">More99</a>


一切正常,没有随机页面重新加载

您需要返回false的原因是,否则浏览器将继续执行链接的默认操作,即跟随
#
,这与页面顶部相同。谢谢Tatu。杰伊,很高兴我能帮上忙。请考虑接受这个答案。杰伊,如果你使用<代码>返回false ,你不需要有一个空的<代码> HeRF值。这也是我的假设。然而出于某种原因,我最终需要两者。
<a href="" onclick="Effect.toggle('extra99'); return false;">More99</a>