2012-03-09 102 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