0

我有一个垂直适合窗口的页面。当用户单击链接时,我通过 ajax 获得另一个页面并将其插入所需的元素。一切正常,但是当用户点击另一个链接时,页面会跳起来,这让我很烦。我试过使用

<a href="#" onClick="showRoom('five');return false;" class="highlight">
//and
<a href="javascript:void(0);" onClick="showRoom('five');return false;" class="highlight">

它在 IE 和 Firefox 中都不起作用 - 它继续跳跃。

有什么好的工作技巧可以提供帮助吗?

我认为它必须与更新有关。当我单击链接时 - 首先,显示加载图标。只有这样,当报告表可用时,它才会加载到而不是图标中。因此,浏览器在显示信息时添加了滚动条,但在报告切换之间消失并被小 LOADING 图标取代。

我认为我需要在单击更新链接时捕获滚动条位置,然后,在 ajax 更新页面后,我需要调用另一个函数来滚动回以前的滚动条位置

这就是我“解决”问题的方式,直到找到真正的解决方案:

document.getElementById(showCoursesArea).innerHTML= '<center><img src=\"images/working.gif\"><h1><br><h1><br><h1><br><h1><br><h1><br><h1><br></center>';

几乎它让我的页面很长;因此 ajax 更新非常适合。

4

2 回答 2

0

当您单击一个链接时,href="#"它实际上是链接到文档的顶部。您实际上可以完全删除该href属性。

于 2012-04-25T18:56:17.040 回答
0

'#' 会将用户带回页面顶部,所以我通常使用 void(0)。或者,如果您说第二个选项也不起作用,则删除 href 并尝试

或者只是尝试

<a href="javascript:myJsFunc()">Link Text</a>

或者

<a onclick="javascript:myJsFunc()">Link Text</a>

或者

<a href="#0" onclick="myJsFunc()">Link Text</a>

因为 id "0" 永远不会出现在页面上,所以什么也不会发生。

于 2012-04-25T18:56:59.203 回答