slideToggle with table show and hide

时间:2014-08-15 11:42:10

标签: jquery slidetoggle jquery-effects

当我点击新条目时,这会关闭上一个菜单条目,但是这样 当我再次点击相同的条目时菜单保持打开状态不起作用。

我不知道语法是如何检查先前和当前条目是否 同样只做隐藏。

    $(document).on("click", ".library-item-title", function (e) {
    e.preventDefault();
    var entry_id = $(this).data("id");
    toggleDropdown(entry_id);
});

function toggleDropdown(entry_id) {
    $(".library-edit-dropdown").hide("slow");
    $("#library-edit-dropdown-" + entry_id).show("slow");
}

http://jsfiddle.net/patelmilanb1/LzaZT/1/

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

您可以使用togglenot方法:

function toggleDropdown(entry_id) {
    $(".library-edit-dropdown")
     .not( $("#library-edit-dropdown-" + entry_id).toggle("slow") )
     .hide("slow");
}

http://jsfiddle.net/wqtuy0mx/

请注意,上述查询可能很昂贵。您正在使用事件委派,这可能意味着您正在动态生成元素,但如果可以进行缓存,则应缓存集合并重新使用它。

答案 1 :(得分:-1)

使用此脚本。

<script type="text/javascript">
$(function() {
$('tr.parent')
    .css("cursor","pointer")
    .attr("title","Click to expand/collapse")
    .click(function(){
        $(this).siblings('.child-'+this.id).toggle("show");
    });
$('tr[@class^=child-]').hide().children('td');
});
</script>

并在表格的父元素中使用它。

class="parent" id="main_someid"

这是表中的孩子。

 class="child-main_someid"
它对我有用。你可以通过提供迭代的someid变量来解决它。 检查小提琴。 http://jsfiddle.net/makicool/LzaZT/2/