2012-03-09 101 views
2

我在我的网站上有一个可滚动的div,但由于里面的内容是由AJAX驱动的,并且每秒刷新一次...该div保持滚动备份!我如何防止这种情况发生? 继承人的DIV本身:可滚动的div自动滚动

$show = '<div class="chatlist" >'; 
while($row = mysql_fetch_array($sql)) 
    { 
    $messages = $row['messages']; 
    $userid = $row['id']; 
    $name = $row['name']; 
$show.=' 
<span class="nm" >' . $name . ':</span><br/><span class="msg">' . $messages . '<br/></span> 

';} 
    $show.='</div>'; 
    echo $show; 

继承人的CSS:

<style type="text/css"> 
    div.chatlist 
    { 
border: thin dotted #000; 
width: 600px; 
left:600px; 
top:600px; 
height:600px; 
background-color: #000; 
color: #FFF; 
border-radius: 5px; 
overflow: scroll; 

} 
span.nm{ 
    font-weight: bold; 
    text-align:left 
} 
span.msg{ 
text-align: right; 
font-style: italic; 
} 
    </style> 

也只有一个两个跨度CSS规则避过此followed.any方式?

+0

您错过了关键部分:ajax作品。你几乎肯定需要解决你的JavaScript中的行为,而不是通过CSS。 – 2012-03-09 00:42:03

回答

0

您可以使用JavaScript设置DIV的scrollTop属性:

https://developer.mozilla.org/en/DOM/element.scrollTop

所以内容更新之前,你将节省的价值,然后重新插入更新完成后。

+0

http://jsbin.com/ucinu/1/edit – redaxmedia 2013-11-27 22:04:23

+0

@redaxmedia您可以将此示例作为单独的答案与代码和解释一起提交(例如,添加更多“blahs”以便动态查看它)。既然问题没有标记jQuery,我想提一下它也可以在普通的JS中完成。 – Devourant 2013-11-28 07:23:02