var aH = listpart.scrollHeight;
var jH = listpart.scrollTop;
$("#listinfo").prepend(MsgList);
var NewaH = listpart.scrollHeight;
listinfo.scrollTop = NewaH - aH + jH;这样写的结果是aH 和NewaH 值一样,因此不起效果请问有什么办法使得listinfo在页面上方添加之后,页面还是显示添加前的内容,滚东条相应下移?

解决方案 »

  1.   

    //添加listinfo之后,
    var height = listinfo.outerHeight();//获取新加内容块的高度
    $("原来的容器").scrollTop(height);//设置容器的滚动高度
      

  2.   

    outerHeight()起不到作用。
    <div id="listpart">
    <ul id="listinfo">
    <li>.....</li>
    <ul>
    </div>
    这样一个结构,$("#listinfo").prepend(MsgList);添加的是多个li。
      

  3.   

    listpart是一个带滚动条的元素,里面放ul
    我需要的是滚动条移到顶端时,加载更多的li。和微博向下加载一样,我的是向上加载。
    因此会遇到一旦添加了更多的li,界面刷新时是根据滚动条的位置显示的,这样就不是显示加载前的内容了。
    var aH = listpart.scrollHeight;
    var jH = listpart.scrollTop;
    $("#listinfo").prepend(MsgList);
    var NewaH = listpart.scrollHeight;
    listpart.scrollTop = NewaH - aH + jH;
    这段代码能够表能我需要的结果,问题就是aH 和NewaH 值一样,没有得到加载后的高度。
      

  4.   

    你只需计算出新添加的Li的总高度height,然后设置滚动高度=height
    $("listpart").scrollTop(height);
      

  5.   

    我在$("#listinfo").prepend(MsgList);后面加alert,结果弹出来了但是页面还没加载新的数据,确定后才会加载完
      

  6.   

    但是写到 $("#listinfo").ready(function() {里面又触发不到