【实用随记】height:auto时无法执行动画的解决办法

来源:互联网 发布:网络语298是什么意思 编辑:程序博客网 时间:2024/06/03 13:50

这里的el初始状态是height:0,所以不能用.height()的方法,这里采用的是clone到body里 然后remove掉;


 $('.trangle').bind('click',function(){

        $(this).toggleClass('tr-click');

        $(this).parent('.folder-each').toggleClass('fo-click');


        var el = $(this).parent('.folder-each').children('.child');
        var elem = el.clone().css({"height":"auto"}).appendTo("body");
        var height = elem.css("height");
        elem.remove();


        var child = $(this).parent('.folder-each').children('.child');
        if(child.hasClass('child-hide')){
          child.animate({height:height}, 500);
          child.removeClass('child-hide');
        }else {
          child.animate({height:'0'}, 500);
          child.addClass('child-hide');
        }
0 0
原创粉丝点击