2012-11-15 52 views
0

股利後:的jQuery:獲得溢出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像素,但是,count在1473年開始,然後跳轉到2193,然後跳轉到2913,依此類推...

Firefox滾動到底部,但IE瀏覽器給我不同的數字(小一些),並且根本不滾動到底部...

我希望不是太混亂...

回答

0

我會從一個加一個div裏面的「希洛」命名爲「hilo_content」,追加數據jax對它的響應,然後使用.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; 
} 
+0

沒錯!是做到了。唯一不同的是,hilo的animate()vas: $(「#hilo」)。animate({scrollTop:hei},500); 感謝您的輸入Ben –