2011-01-20 63 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/