jQuery多个动态创建的向下滑动DIV一次全部打开


jQuery multiple dynamically created slide down DIV's all open at once

我有一些正在动态创建的下滑框,如下面的 PHP 代码段所示。当您单击标题下拉时,它会打开每个div,如下面的小提琴所示。如何从 PHP 添加变量并将其处理到 jQuery 脚本中,以便每个标题在自己的div 上打开它而不会影响其他标题?实际上,我正在寻找的是带有PHP vars的手风琴函数。

小提琴

简讯

$(function(){
//category drop downs
$(".category").hide();
$( ".tags h5" ).addClass( "open" );
var cat_open = 0;
$(".tags h5").click(function () {
    if (cat_open == 1) {
        $(".category").animate({"height":"toggle"}, 500);
        cat_open = 0;
        $( ".tags h5" ).addClass( "open" );
    }
    else if (cat_open == 0) {
        $(".category").animate({"height":"toggle"}, 500);
        cat_open = 1;
        $( ".tags h5" ).removeClass( "open" );
    }
});
});

.PHP

foreach ( $categories as $category ){
echo '<h5 class="">'. $category->name . '</h5>';
echo'<div class="category '. $category->name . '">';
$sub_args = array(
    'taxonomy'      => 'tags',
    'parent'        => $category->term_id, // get child categories
    'orderby'       => 'name',
    'order'         => 'ASC',
    'hierarchical'  => 1,
    'pad_counts'    => 0
);
$sub_categories = get_categories( $sub_args );
foreach ( $sub_categories as $sub_category ){
    echo '<label><input type="checkbox" id="type-'. $sub_category->name . '" rel="'. $sub_category->name . '">'. $sub_category->name . '</label>';
    echo '<br />';
}
echo'</div>';//.categories
echo '<hr />';
}
你可以在

没有php的情况下做到这一点。http://jsfiddle.net/tkp3jzrp/2/

$(function(){
    //category drop downs
    $(".category").hide();
    $( ".tags h5" ).addClass( "open" );
    $(".tags h5").click(function () {           
          $(this).next('.category').animate({"height":"toggle"}, 500);           
    });
});

你不需要使用开放类(在这种情况下),你只需要使用

$(".tags h5").click(function () {
    $(this).next(".category").slideToggle();
});

查看工作演示