【发布时间】:2012-04-25 18:52:53
【问题描述】:
我有一个垂直适合窗口的页面。当用户单击链接时,我通过 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 更新非常适合。
【问题讨论】:
-
你能把它发布到 jsFiddle 中吗?
-
“跳起来”是什么意思?请更具体一点
-
看到右边的vscrollbar了吗?它在更新期间消失了一小段时间 - 因为报告表消失了,而我有 LOADING ICON。然后,Ajax 从数据库中拉出新表并填写我的-滚动条再次出现,但页面没有返回报告到目前为止,我是如何“解决”这个问题的:我在 LOADING 图标后添加了一堆空格 - 这样浏览器就可以保持原来的一些页面高度。
document.getElementById(showCoursesArea).innerHTML= '<center><img src=\"images/working.gif\"><h1><br><h1><br><h1><br><h1><br><h1><br><h1><br></center>';
标签: javascript ajax