Bootstrap 在加载时崩溃

2024-04-22

我用这个脚本

$(function () {
$('.tree li:has(ul)').addClass('parent_li').find(' > span').attr('title', 'Collapse this branch');
$('.tree li.parent_li > span').on('click', function (e) {
    var children = $(this).parent('li.parent_li').find(' > ul > li');
    if (children.is(":visible")) {
        children.hide('fast');
        $(this).attr('title', 'Expand this branch').find(' > i').addClass('icon-plus-sign').removeClass('icon-minus-sign');
    } else {
        children.show('fast');
        $(this).attr('title', 'Collapse this branch').find(' > i').addClass('icon-minus-sign').removeClass('icon-plus-sign');
    }
    e.stopPropagation();
});

http://jsfiddle.net/jhfrench/GpdgF/ http://jsfiddle.net/jhfrench/GpdgF/

用于递归可折叠菜单。它工作完美。但我需要菜单最初折叠,即页面加载并仅在单击时展开。

我的JS知识很薄弱。但我尝试使用toggle();和隐藏(); ,它会导致折叠并且单击时不会展开

下面是递归的php代码

<?php
function listroles($roles)
{
    ?>
    <ul>
    <?php
    foreach($roles as $role)
    {
        ?>
        <li>
            <span><i class="icon-plus "></i> Parent</span> <a href="<?php echo $role['category']->slug; ?>"><?php echo $role['category']->name; ?></a>
            <?php
            if ( ! empty($role['children']))
            {
                listroles($role['children']);
            }
            ?>
        </li>
        <?php
    }
    ?>
    </ul>
    <?php
}

listroles($this->categories_menu);
?> 

您可以添加 css 规则来隐藏开头的子 li 元素

.tree li ul > li {
    display: none;
}

Demo: Fiddle http://jsfiddle.net/arunpjohny/FKWE6/

或者在页面加载时隐藏子 li 元素

$(function () {
    $('.tree li:has(ul)').addClass('parent_li').find(' > span').attr('title', 'Collapse this branch');

    //hide the child li elements
    $('.tree li ul > li').hide();
    $('.tree li.parent_li > span').on('click', function (e) {
        var children = $(this).parent('li.parent_li').find(' > ul > li');
        if (children.is(":visible")) {
            children.hide('fast');
            $(this).attr('title', 'Expand this branch').find(' > i').addClass('icon-plus-sign').removeClass('icon-minus-sign');
        } else {
            children.show('fast');
            $(this).attr('title', 'Collapse this branch').find(' > i').addClass('icon-minus-sign').removeClass('icon-plus-sign');
        }
        e.stopPropagation();
    });
});

Demo: Fiddle http://jsfiddle.net/arunpjohny/XBRRh/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Bootstrap 在加载时崩溃 的相关文章

随机推荐

  • 如何在不同的扬声器上播放声音?

    我的设备有 2 个外部扬声器 我如何分别测试它们 一种功能仅在左侧播放声音 一种功能仅在右侧播放声音 谷歌搜索没有成功 也许我使用了错误的术语 也许使用 WIN32 API 设置余额 如果您谈论的是立体声扬声器系统设置中的 2 个扬声器 那
  • java spring缓存会破坏反射吗?

    我最近正在使用 spring boot 和集成缓存 在我的测试中 我使用了一点反射 这是一个例子 Service public class MyService private boolean fieldOfMyService false p
  • 获取回形针附件的绝对 URL

    是否可以获取回形针附件的绝对 URI 目前的问题是生产环境部署在子 URI 中 在 Passenger 上 RackBaseURI but
  • 如何从内存中为 CircleAvatar 提供图像

    我正在使用带有 backgroundImage 属性的 CircleAvatar 来加载从内存中获取的图像 但出现错误 如何在 flutter 中设置 CircleAvatar 中的 image memory String url GetI
  • 断点改变程序流程

    我正在尝试分析和逆向我拥有的 Objective C 程序 我通过手动更改一些操作码对可执行文件进行了一些修改 然而 当我测试修改后的软件时 我得到 死亡人数 9 没关系 我想我触碰了不该触碰的东西 我当时就推出了gdb myprogram
  • Istio 允许在 Docker Desktop Kubernetes 上使用第三方 JWT

    我使用的是 docker 桌面附带的预打包 Kubernetes 集群 我在 Windows 计算机上 使用 WSL 2 在 Ubuntu 18 04 VM 上运行 Kubernetes 在我的 Kubernetes 集群上 我运行 ist
  • 如何从 Chrome 扩展中的 bg 页面访问弹出页面 DOM?

    在谷歌浏览器中扩展开发者部分 http code google com chrome extensions overview html 它说 扩展内的 HTML 页面 可以完全访问彼此的 DOM 它们可以调用函数 彼此 弹出窗口的内容 是由
  • 何时调用layoutSubviews?

    我有一个自定义视图没有得到layoutSubview动画期间的消息 我有一个充满屏幕的视图 它在屏幕底部有一个自定义子视图 如果我更改导航栏的高度 它可以在 Interface Builder 中正确调整大小 layoutSubviews在
  • git 在推/拉时加密/解密远程存储库文件

    在传输到远程存储库之前是否可以通过 git Push 自动加密文件 并在 git pull 时自动解码它们 也就是说 如果我有一些与 git 存储库共享访问的远程服务器 并且我不希望我们的项目在未经许可的情况下被盗 也许在推之前和拉之后有一
  • NHibernate - 如何使用参数值记录命名参数化查询?

    我有一个参数化的命名查询 如下所示 Query moveOutQuery session createSQLQuery moveOutQueryStr toString addEntity MyClass class setParamete
  • Git rebase 跳过相同的提交

    根据git 变基文档 https git scm com docs git rebase description 如果上游分支已经包含您所做的更改 例如 因为你邮寄了一个已应用于上游的补丁 那么 提交将被跳过 例如 在 以下历史 其中 A
  • 在 Mac 上启动没有停靠图标的 Qt 托盘进程

    我有一个包含 GUI 服务和托盘的捆绑包 请注意 它们是三个独立的过程 这可能听起来很奇怪 托盘是服务的代表 用户可以打开 GUI 如果没有托盘存在 它会创建一个托盘 所以在我的 GUI 代码中我有如下内容 QProcess startDe
  • 使用 Cypress 进行 Auth0 身份验证

    我正在尝试为 Cypress 创建登录命令 并注意到他们关于如何执行此操作的博客与预期值不匹配Auth0反应SDK https auth0 com docs libraries auth0 react 看来他们使用了自定义的 Express
  • 如何在 Python 中将 3D 数据绘制为 2D 网格颜色图?

    我有 3D 数据作为 numpy 数组的列 也就是说 array 0 0 0 0 等 例如 X Y Z 0 0 0 0 1 10 1 0 20 1 1 30 我想绘制此图 以便每个 X Y 坐标都有一个以坐标为中心的正方形 并使用从 例如
  • 在 Android 4.1/4.2 设备中使用 MediaCodec.getOutputFormat() 作为编码器的问题

    我正在尝试使用 MediaCodec 将帧 通过相机或解码器 编码为视频 当通过 dequeueOutputBuffer 处理编码器输出时 我期望收到返回索引 MediaCodec INFO OUTPUT FORMAT CHANGED 因此
  • 使用 ui-sref 进行站点导航,如何在不可用时删除 ui-sref 属性

    我使用 ng repeat 设置了导航 效果非常好 a span class title link Text span span class selected span a 但是 我的导航项经常有子链接 这意味着父链接并不是真正的导航链接
  • 如何生成上个月的 git 提交日志并将其导出为 CSV?

    有没有办法生成上个月的 git 提交日志 并将其导出为 CSV 文件 我正在寻找可以从命令行或第三方应用程序运行的东西 我想要以下列 作者 提交日期 主题 编辑的文件和哈希 您可以使用 since and pretty的选项git log
  • 在循环中创建 HTML 元素

    给定一个数字 例如 6我需要生成6个DIV元素 例如 number 6 PHP generates the DIV for number of times 6 in this case 我该怎么做 如果是这种情况 我不是 PHP 循环专家
  • vim 命令可以映射到具有 >1 修饰符的组合键(例如 ctrl-alt-v)

    是否可以将 vim 命令映射到涉及多个修饰符的按键组合 例如 ctrl alt v 据我所知 唯一可以与另一个组合使用的修饰键是shift 例如
  • Bootstrap 在加载时崩溃

    我用这个脚本 function tree li has ul addClass parent li find gt span attr title Collapse this branch tree li parent li gt span