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;
}
});