在jquery加载时冻结上次查看的位置

时间:2014-02-27 03:28:11

标签: javascript php jquery html css

我通过jquery加载一个表,然后用overflow:auto设置表的宽度和高度。每当表重新加载时,它就会出现在顶部。即使在表重新加载之后,我仍然需要留在我看到数据的地方。

这里我们详细说明,

<script type="text/javascript">
var auto_refresh = setInterval(
function ()
{
   $('#livestatus').load('live.php');
}, 2000);
</script>

HTML

<div align="center" id="livestatus"></div>

在live.php中,它将生成动态数据......

<table><tr><td>datas</td></tr>
<tr><td>datas</td></tr>
<tr><td>datas</td></tr>
<tr><td>datas</td></tr>
<tr><td>datas</td></tr>
.
.
.
<tr><td>datas</td></tr></table>

1 个答案:

答案 0 :(得分:0)

在请求保存溢出div的位置之前,在要加载的元素上使用scrollTop,然后在加载时使用回调将回滚设置回原来的位置:

<script type="text/javascript">
     var auto_refresh = setInterval(function(){
         var scrollCache = $('#livestatus').scrollTop();
         $('#livestatus').load('live.php', function(){
              $('#livestatus').scrollTop(scrollCache);
         });
     }, 2000);
 </script>

干杯! 安德鲁