function togglelist(rootid){ var root=$(rootid); $(" dd",root).each(function (){ $(this).css({'overflow':'hidden'}); $(this).data('height',$(this).height()); $(this).data('paddingtop',$(this).css('padding-top')); $(this).data('paddingbtm',$(this).css('padding-bottom')); } ) function togglelist(obj){ if(obj.height()>0){ obj.animate({paddingTop:0},{queue:false,duration:500}); obj.animate({paddingBottom:0},{queue:false,duration:500}); obj.animate({height:'0'},500) .fadeOut("fast"); //obj.css({'visibility':'hidden'}); }else{ //obj.css({'visibility':'visible'}); obj.animate({paddingTop:obj.data('paddingtop')},{queue:false,duration:500}); obj.animate({paddingBottom:obj.data('paddingbtm')},{queue:false,duration:500}); obj.animate({height:obj.data('height')},500) .fadeIn("fast"); } } $(" dt>a",root).each(function(){ $(this).click(function (){ togglelist($("+dd",this.parentNode)); return false; }) }) togglelist($(" dd",root)); $(" dd:first",root).animate({paddingTop:$(" dd:first",root).data('paddingtop')},{queue:false,duration:500}) .animate({paddingBottom:$(" dd:first",root).data('paddingbtm')},{queue:false,duration:500}) .animate({height:$(" dd:first",root).data('height')},500);; }