さて、これは私が使おうとしているものです
$(".shouts").scrollTop = $(".shouts").scrollHeight;
idの代わりにクラスを使用する場合は正しいと思いますが、これは機能しません。これは、その上のコードが原因であると思います。
function refreshShouts() {
var refreshRate = 5000; // time in milliseconds
var cacheBuster = (new Date).getTime();
$.ajax({
type: "POST",
dataType: "xml",
url: "php/getShouts.php",
data: {op: 'tick', time: cacheBuster},
error: function() { alert('An error occured! Try again.'); },
success: function(xml){
if($('shout', xml).size() > 0) {
$('shout', xml).each(function(id){
var nickname = $('nickname', this).text();
var message = $('message', this).text();
var date = $('date', this).text();
var cssClass = 'shoutRow1';
if((id%2)/10 == 0)
cssClass = 'shoutRow';
var shoutRow = '<div id="'+cssClass+'"><span id="nickname">'+nickname+' <span id="date">('+date+')</span>: </span><span id="shoutedMessage">'+message+'</span></div>';
if(id == 0)
$('#shoutsContainer').empty().removeClass().addClass('shouts').html(shoutRow);
else
$('#shoutsContainer').removeClass().addClass('shouts').append(shoutRow);
});
} else {
$('#shoutStatus').empty().addClass('shoutError').html($('error', xml).text());
$('#shoutsContainer').empty().removeClass().addClass('noShouts').html('Shouts will be displayed here!');
}
$(".shouts").scrollTop = $(".shouts").scrollHeight;
}
});
setTimeout('refreshShouts()', refreshRate);
}
多分それがそれを作成するので、私はよくわかりません..通常、私はこれのためにクラスの代わりにdiv idを使用していますが、これを機能させることを望んでいました。