我需要的例子:
var interval = 100;
$(function(){
$('#container').children().click(function(e){
alert($(e.target).text()+" clicked");
});
setInterval(function(){
$('#container').children().sort(function(a,b){
if($(a).text() > $(b).text()) return 1;
if($(a).text() < $(b).text()) return -1;
return 0;
}).appendTo('#container');
},interval);
})
如果我们将间隔更改为10000,一切正常。
但我需要大约100或更低的间隔。
答案 0 :(得分:3)
修改你的小提琴进行比较。请检查http://jsfiddle.net/bbGMB/4/
var interval = 100;
$(function(){
$('#container').children().click(function(e){
alert($(e.target).text()+" clicked");
});
setInterval(function(){
var origC = $('#container').children();
var newC = $.extend([], origC);
newC.sort(function(a,b) {
if($(a).text() > $(b).text()) return 1;
if($(a).text() < $(b).text()) return -1;
return 0;
});
for (var i=0; i < origC.length; i++) {
if (origC[i] !== newC[i]) {
newC.appendTo('#container');
break;
}
}
},interval);
})
答案 1 :(得分:0)
如果我正确理解了您的问题,则无需按特定间隔重复排序。只需在单击元素时调用sort-function。 (您当前对alert()的调用是)