2

当我sort()在单击事件上使用 jQuery 的功能按日期组织它时 <div>,排序仅在第一次起作用。然后<div>s在下一次点击中以随机顺序排列自己。有人可以帮我解决这个问题吗?

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);
    });
}
4

0 回答 0