2011-01-20 50 views

回答

1

http://jsfiddle.net/cN2zR/3/它現在:)

化妝達函數,所以它可以運行每個添加。

var d = function(){ 
    return '<div class="historyItem">Test ' + ($("#history > div").size() + 1) + '</div>'; 
} 

另外我注意到你的問題與滾動鏈接。滾動到容器底部的快速技巧是使用.scrollTop([arbitrary high number])

2

size()正被評估一次,當該值被分配給d。你需要在函數內部移動賦值來每次評估它。

或者,如果你想讓它保持它之外,你可以把它變成一個功能:

var d = function() { return '<div class="historyItem">Test ' + ($("#history > div").size() + 1) + '</div>'; } 

然後

$('#history').append(d()); 
0

因爲jQuery結果的大小是在每次使用時都以inline和ont計算的。 您也可以將d更改爲返回HTML字符串的函數並使用它,以便每次引用它時都會計算大小。

d = function(){ 
    return '<div class="historyItem">Test ' + ($("#history > div").size() + 1) + '</div>'; 
} 

$('#b').click(function() { 
    //console.time("timing Time"); 
    $('#history').append(d()); 
    //console.timeEnd("timing Time"); 
    $('#history').scrollTo('max'); 
}); 

檢查這個帖子:http://jsfiddle.net/cN2zR/7/