1

我需要的示例:

http://jsfiddle.net/bbGMB/1/

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 或更低的间隔。

4

2 回答 2

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);
})
于 2013-08-08T08:53:30.637 回答
0

如果我正确理解了您的问题,则您不必以特定间隔重复排序。只需在单击元素时调用排序函数。(您当前对 alert() 的调用在哪里)

于 2013-08-08T08:56:53.793 回答