【问题标题】:JQuery Click Function, Jquery Toggle IssueJQuery 点击功能,Jquery 切换问题
【发布时间】:2014-03-09 01:54:35
【问题描述】:
jQuery('.query-links ul').click(function() {

    if (jQuery('.child-posts').length == 1) {
        jQuery('.child-posts').slideToggle(200);
    }

    else {
        jQuery('.child-posts.opened').slideToggle(200).removeClass('opened');
        jQuery(this).closest('ul').find('.child-posts').slideToggle(200).addClass('opened');
    }

    return false; 
});

这里是Fiddle

我有这个运行侧边栏菜单的 JQuery 代码,一切都运行良好,除了当子菜单打开时,如果单击它不会关闭,它会再次打开。如果在打开时单击菜单,我希望菜单关闭。任何帮助将不胜感激,谢谢。 - 杰森

更新:代码的第一部分处理只有一个 .child-posts DIV 的菜单实例。菜单根据附加到各自类别的帖子而有所不同。 (WordPress)

【问题讨论】:

    标签: jquery click slidetoggle submenu


    【解决方案1】:

    您需要在您点击的ul下定位当前.childpost

    if (jQuery(this).find('.child-posts').length == 1) {
        jQuery(this).find('.child-posts').slideToggle(200);
    }
    

    Updated Fiddle


    编辑:您可以将代码缩短为:

    jQuery(document).ready(function($){
        $('.query-links ul').click(function() {
            var childPost = $(this).find('.child-posts');
            $('.child-posts').not(childPost).slideUp().removeClass('opened'); 
            childPost.addClass('opened').slideToggle();
        }); 
    });
    

    Updated Fiddle

    【讨论】:

    • 我的 Fiddle 已关闭,请检查更新和新的 Fiddle。谢谢。
    • 另外其他的菜单关闭功能现在也不能用了,怎么用?
    猜你喜欢
    • 1970-01-01
    • 2011-05-24
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多