diff --git a/af-accordion/af.accordion.css b/af-accordion/af.accordion.css index 79817e6..6a53cef 100755 --- a/af-accordion/af.accordion.css +++ b/af-accordion/af.accordion.css @@ -1,8 +1,7 @@ - .accordion li>div { opacity:0; - overflow:hidden; + overflow:auto; height:0px; -webkit-transition: opacity 0.30s linear; transition: opacity 0.30s linear; @@ -21,7 +20,9 @@ height:auto; opacity:1; } - +.accordion li.active>div{ + opacity:1; +} .accordion li { display:block; width:100%; diff --git a/af-accordion/af.accordion.js b/af-accordion/af.accordion.js index 70bace6..a0a33ea 100755 --- a/af-accordion/af.accordion.js +++ b/af-accordion/af.accordion.js @@ -42,17 +42,23 @@ $el.on("click","li",function(e){ - var $e=$(e.target).siblings("div"); - debugger; - $e.parent().addClass("active"); - $el.find("li").not($e.parent().get(0)).removeClass("active"); - var to=$e.height(); - $e.css("height","0px"); - window.setTimeout(function(){ - $e.css("height",to); - }); - e.preventDefault(); ++ var $e = $(e.target).siblings("div"); ++ $e.parent().addClass("active"); ++ $el.find("li").not($e.parent().get(0)).removeClass("active"); ++ $el.find("div").not($e.get(0)).css("height", "0px"); ++ window.setTimeout(function () { ++ if ($e.get(0).clientHeight > 0) ++ $e.css("height", "0"); ++ else { ++ var to = $e.data("height"); ++ if (to == null) ++ to = "auto"; ++ $e.css("height", to); ++ } ++ }); + + e.preventDefault(); }); } -})(af,window); \ No newline at end of file +})(af,window);