-1

jquery selectableが何をしているのか(ソートなど)を実行した後に関数を呼び出す方法を理解できません。一部の要素にアクセスできないため、移動がいつ完了したかを確認する必要があります。コードは次のとおりです。

この関数を呼び出して zIndex 番号を修復したい.. reparaZindex() 最初に入れようとしたり、更新しようとしたりしましたが、何も機能しません。

$(function() {
    $( ".sortable" ).disableSelection();
    $( ".sortable" ).sortable({
        start: function(event, ui) {},
        update: function (event, ui) {}
       });
  });

私のスクリプトは正常に動作します。ページが読み込まれると、すべての ID を確認できますが、リストを変更した後は機能しません。参照するリンクは次のとおりです。

(上記の例ではreparaZindexを停止しましたが、機能していません)

4

1 に答える 1

-1

このコードを試してください:

$(function() {
    $( ".sortable" ).disableSelection();
    $( ".sortable" ).sortable({
        stop : function(event, ui){
        reparaZindex(); 
        alert("bananas eat children");
   }
       });
  });

アラートが表示されても関数が機能しない場合は、reparaZindex() が何か間違っていることを意味します。


$(function() 
{

    $( ".sortable" ).disableSelection();
    $( ".sortable" ).sortable({ 

        start: function(event, ui) {
        var start_pos = ui.item.index();
        ui.item.data('start_pos', start_pos);
    },





        update: function (event, ui) {
        var start_pos = ui.item.data('start_pos');
        var end_pos = ui.item.index();

            var eroare=0;

            //incepe trimiterea la bd a indexurilor

            for(var i=0;i<ui.item.parent().children().length;i++){
                    if(1==0) //eroare
                    eroare=1;
                    var x =ui.item.parent().children()[i];
                     //$(x).find('img').css('z-index',500-i);
                     y=$(x).children()[0];
                     y.style.zIndex=500-i*2;
                     if($(x).children().length>1){
                    c=$(x).children()[1];
                    TEMP=500-i*2+1;
                    c.style.zIndex=TEMP;
                    //alert(TEMP);
                    //alert($(x).children()[1].id)
                    }
                }
            if(eroare==0)//daca bd a upatat indexurile pt start_pos la eng pos
            {
                var copii=ui.item.parent().children();
                for(var i=0;i<ui.item.parent().children().length;i++){
                    //alert(ui.item.parent().children().eq(i).id())
                }


            }
            else {


                }   


    },
    stop: function(event, ui) { $.each($(".sortable > li"), function() {alert("!!!"+$(this).attr("id"));}); }

  });
});
于 2013-05-31T21:37:51.760 に答える