每 5 秒刷新一次 Div。div 的滚动设置为滚动,以便用户可以滚动,但是当刷新发生时,div 滚动会回到顶部。有什么想法可以在 div 刷新后保持滚动位置?
这是我的CSS:
#alerts_container {
height: 150px;
width: 250px;
overflow: scroll;
overflow-x: hidden;
border-right-width: 1px;
border-right-style: solid;
border-right-color: #666;
}
JS:
refresh_alerts = setInterval(function (){
$('#leftside div#alerts_container').load('staffhome.php #alerts_container' );
}, 5000)
HTML:
<div id='alerts_container'>
<?php
include_once('includes/my_alerts.php');
?>
</div>
使用 SKS 的答案让这对我有用,但我确实不得不稍微更改他的代码:
var isScrolling = false;
var lastScrollPos = 0;
var counter = 0;
$(function() {
$('#alerts_container').bind("scroll", function (){
isScrolling = true;
});
refresh_alerts = setInterval(refreshContent, 5000);
function refreshContent() {
lastScrollPos = $('#alerts_container').scrollTop();
if (!isScrolling) {
$('#alerts_wrapper').load('staffhome.php #alerts_container', function () {
$('#alerts_container').scrollTop(lastScrollPos);
});
}
isScrolling = false;
}
});