如何在onClick事件后保留滚动位置?

时间:2015-05-22 05:00:21

标签: javascript html anchor

我已经为孩子们创建了一系列地理问题。 URL如下:

http://phillipmfeldman.org/history/silly_geography.html#

我首先将显示样式设置为" none"隐藏答案。单击链接时,相应元素的显示样式将更改为""取消隐藏它。除了不保留滚动位置之外,这很有效。我创建了一个函数(scroll_to)来将滚动位置设置为特定元素,并尝试将其称为最终的onClick操作,但它不起作用。我怀疑这样做的原因是在处理onClick后重置滚动位置。任何建议将不胜感激。

菲利普

2 个答案:

答案 0 :(得分:0)

在您的锚<a>标记属性href="#",这会导致问题。请将属性href设置为空白字符串,如:href=""

答案 1 :(得分:0)

我提出了一个非理想但可行的解决方案,它有两个组成部分:

(1)我在每个问题中指定一个锚(ID)。

(2)单击答案的链接将滚动点设置为与问题相关联的锚点。

(此解决方案不理想,因为显示仍然会跳转,但问题和答案保证仍然可见)。一个例子如下:

<li><p id="Q1">(1 point) Name a city in France where mean people are scarce.
<a href="#Q1" onClick="toggle('A1')">Give up or check your answer.