我可能想在内容加载时将div自动滚动到页面底部,但它实际上并没有在jquery上滚动我的代码:
function auto_scrollmes(){
//undefined ang scrollheight.
var div = $(".convo_mes").scrollHeight;
alert(div);
div.scrollTop = div.scrollHeight;
}
当我试图提醒div时,它会提示undefined。这就是我的css中的内容:
#convo_mes{
text-align:left;
width:98%;
height:80%;
}
.convo_mes{
text-align:left;
width:100%;
height:100%;
background:#fff;
border:1px solid #000;
overflow-x:hidden;
overflow-y:auto;
}
实际上当我点击一条消息时,消息的内容将被加载到具有convo_mes类的div上:
$(".mes").click(function(){
var user = $(this).attr("id");
$("#convo").html("<b>"+user+"</b>");
$("#convo_ctrl").show();
$(".send_to").attr("id",user);
$(".convo_mes").html("Loading conversation <img width='15' height='15' src='./img/load.gif'>");
$.post("./php/view_msg.php",{friend:user},function(view_msg){
$("#"+user).html(user+" "+view_msg);
});
setTimeout(function(){get_convo()},2000);
setTimeout(function(){auto_scrollmes()},3000);
});
我尝试了所有内容并继承了我的HTML代码:
<div id="convo_mes">
<div class="convo_mes">
</div>
</div>
我检查了控制台,它显示了&#34; global.js:24未捕获的TypeError:无法读取属性&#39; scrollHeight&#39;未定义&#34;错误,global.js中的第24行是div.scrollTop = div.scrollHeight;
答案 0 :(得分:2)
$(".convo_mes")
是一个jQuery对象,而不是DOM对象
像这样访问DOM对象:$(".convo_mes")[0]
这应该有用。
function auto_scrollmes(){
//undefined ang scrollheight.
var div = $(".convo_mes")[0];
alert(div);
div.scrollTop = div.scrollHeight;
}