Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jQuery中使用sort()函数_Javascript_Jquery - Fatal编程技术网

Javascript 在jQuery中使用sort()函数

Javascript 在jQuery中使用sort()函数,javascript,jquery,Javascript,Jquery,当我在单击事件上使用jQuery的sort()函数按的日期组织它时,排序只在第一次起作用。然后,在下一次单击中,以随机顺序排列。有人能帮我解决这个问题吗 function orderDate(tipo){ var nposX = 0; var nposY = 0; if(tipo == 'acrescente'){ $("#ordeData").attr({'onclick' : 'orderDate("decrescente");'}); }e

当我在单击事件上使用jQuery的
sort()
函数按
的日期组织它时,排序只在第一次起作用。然后,在下一次单击中,
以随机顺序排列。有人能帮我解决这个问题吗

function orderDate(tipo){
    var nposX = 0;
    var nposY = 0;

    if(tipo == 'acrescente'){
        $("#ordeData").attr({'onclick' : 'orderDate("decrescente");'});
    }else if(tipo == 'decrescente'){
        $("#ordeData").attr({'onclick' : 'orderDate("acrescente");'});
    }


    function lxp(a, b){
        alert($(a).html());
        var adate = new Date($(a).attr("data-date"));
        var bdate = new Date($(b).attr("data-date"));
        if(tipo == 'acrescente'){
            return adate > bdate ? -1 : 1;
        }else if(tipo == 'decrescente'){
            return adate < bdate ? -1 : 1;
        }
    }

    $("#blocoSite li").sort(lxp).each(function(i, el){

        $("#blocoSite li").each(function(is, els){
            nposX = $(els).offset().left;
            nposY = $(els).offset().top;

            if(i == is){
                return false;
            }
        });

        $(this).animate({
            left: nposX,
            top :  nposY
        }, 800);
    });
}
功能订单日期(tipo){
var-nposX=0;
var-nposY=0;
如果(tipo=='acrescente'){
$(“#ordeData”).attr({'onclick':'orderDate(“decrescente”);');
}否则,如果(tipo=='decrescente'){
$(“#ordeData”).attr({'onclick':'orderDate(“acrescente”);');
}
函数lxp(a,b){
警报($(a.html());
var adate=新日期($(a).attr(“数据日期”);
var bdate=新日期($(b).attr(“数据日期”);
如果(tipo=='acrescente'){
返回日期>b日期?-1:1;
}否则,如果(tipo=='decrescente'){
返回日期
而不是
if/else
使用
attr
分配点击事件时,您应该执行:
$(“#ordeData”)。点击(函数(){orderDate(tipo);}).sort()
只会对当前集合进行重新排序,而不会对DOM中的节点进行重新排序吗?@Bergi:那么他会命令一次吗?