jQuery empty()/ remove()使页面跳转

时间:2011-03-17 09:12:11

标签: jquery

我有一个监控网站,显示“谁登录”及其“状态”(在线/离开/等)。

它们基本上包裹在我的页面底部附近:

<table cellpadding="0" cellspacing="0" id="telecaster_agentenstatus" class="telecaster">
            <tr>
                <td id="free_agents">
                </td>
                <td id="acw_agents">
                </td>
                <td id="pause_agents">
                </td>
            </tr>
            <tr id="telecaster_agentenstatus_start">
                <td id="agentenstatuus" colspan="3">
                    <div class="agent_telecaster_container"></div>
                </td>
            </tr>
        </table>

所以所有“代理人”都使用“agent_telecaster_container”类进入div。 我追加了尽可能多的div:

for (nameAgent in supervisionagents.group[0].agent) {
            //$("#agentenstatuus").append('<div class="agent_telecaster">'+nameAgent+'</div>'); 
            counter++;

            if (supervisionagents.group[0].agent[nameAgent].stateCurrent.description == "idle") 
            {
                $(".agent_telecaster_container").append('<div id="agent'+counter+'" class="agent_telecaster"><img src="images/icons/box_green_12x12.png">&nbsp;' + nameAgent + '</div>');
            }

一遍又一遍地调用。

我需要的是“清除”其内容,因为它可能是每一秒都有人离线或在线。

到目前为止,这可以通过简单的方式实现:

$('.agent_telecaster_container').empty() / .remove();

但接下来发生的事情是,如果我移动我的视图/滚动条来查看该表下面的一些内容,每次重新加载(每秒)都会跳回到此状态。 我想这是因为删除/空而且这个元素被删除但新内容进入。

有没有人知道如何防止跳跃? :/

3 个答案:

答案 0 :(得分:0)

您可以按高度固定联系人的主容器并添加垂直滚动条。没有什么可跳的。

答案 1 :(得分:0)

这很好用: - )

$('#agentenstatuus').css('height',$('.agent_telecaster_container').height());

在每个循环结束时:-) 这会将表格的单元格设置为div容器的高度,并且不会出现跳转!

我之前编辑的错误是因为.css文件中的CSS错误。

答案 2 :(得分:0)

您是否尝试先隐藏元素,然后将其删除? 。.hide()除去();或者尝试使用fadeOut()然后在回调中调用remove():

.fadeOut('fast',function( $('.agent_telecaster_container').remove(); ));