0

我有一个函数可以根据列表中的数字元素更新列表的样式,因此 1-5 的样式都不同。

我让它只删除,但我想淡出然后删除该项目,然后运行更新列表功能。出于某种原因(不知道为什么)如果我使用 fadeOut 然后在它淡出后调用 remove ,它不会更新列表但如果我只使用 .remove() 它可以工作

    // add classes to each list
    function updateListClasses() {
        var listClasses = ["first", "second", "third", "fourth", "fifth"];
        var numberOfAnswers = $(".answers li").size();
        $(".draggable").each(function() {
            //alert("updating")
            $(this).find("li").removeClass();
            $("li").each(function(index){
                $(this).addClass(listClasses[index]);
            })
        })
    };

  function removeParent() { 
    $(this).parent().fadeOut( function() {
        $(this).remove(function(){
             updateListClasses();
        });
    }); 

  };

  $('.draggable li').on("click",".close", removeParent);

这样做是可行的,但如果没有褪色,它有点过于粗糙:

  function removeParent() { 
    $(this).parent().remove(); 
    updateListClasses();
  };
4

1 回答 1

0

remove()不接受回调:

  function removeParent() { 
    $(this).parent().fadeOut( function() {
        $(this).remove();
        updateListClasses();
    }); 
  }
于 2013-05-28T15:58:20.553 回答