div:
<div id="hilo" style="width:48%;height:380px;overflow:auto;float:right;">
Javascript:
$('#re').click(function() {
var error = 0;
if($("#texto").val() == ""){
$("#texto").css("border","solid 1px #990000");
error = 1;
}
if(error == 1){
return false;
} else {
var texto = $("#texto").val();
var conv = $(this).attr("name");
$.ajax({
type: "POST",
url: "ajaxHilo.php",
cache: false,
data: {
'texto' : texto,
'conv_id' : conv,
'regresar' : 'ultimo'
},
success: function(data,status){
$("#hilo").append(data);
$("#texto").val("");
var hei = $('#hilo').prop('scrollHeight');
alert(hei);
$("#hilo").animate({ scrollTop: hei}, 500);
return false;
},
error: cualquierError
});
}
});
id = re的元素是一个按钮。
我得到了溢出div的大小最奇怪的结果,脚本每次只用两行新内容将一个新的div插入div hilos,每个不超过30或40个像素,但是,计数开始在1473年然后跳到2193然后是2913,依此类推......
Firefox滚动到底部,但IE给了我不同的数字(较小的数字),并且根本不滚动到底部...
我希望不会太混乱......
答案 0 :(得分:0)
我会在名为“hilo_content”的“hilo”中添加一个div,将ajax响应中的数据追加到它,然后使用.outerHeight()来获取高度值。所以像这样:
<div id="hilo" style="width:48%;height:380px;overflow:auto;float:right;">
<div id="hilo_content"></div>
</div>
并在成功回调中:
success: function(data,status){
$("#hilo_content").append(data);
$("#texto").val("");
var hei = $('#hilo_content').outerHeight();
alert(hei);
$("#hilo_content").animate({ scrollTop: hei}, 500);
return false;
}