javascript - 基础导航顶部栏不适用于 thymeleaf

标签 javascript jquery html zurb-foundation

我有一个使用 Spring MVC + thymeleaf 的 HTML 模板文件,我正在尝试使用 Foundation 的“顶栏”组件在页面顶部创建一个可导航菜单。

到目前为止,菜单栏已显示,但当光标放在顶部时,菜单并未显示。

我可以显示与我的主菜单选项(位于栏上的选项)相关的子菜单,但子菜单不起作用,因为当我单击第一个子菜单上的选项时,菜单将关闭而不是显示另一个子菜单。

我的 HTML 文件如下所示:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <link rel="stylesheet" type="text/css" media="all" th:href="@{/css/foundation.min.css}" />
</head>
<body>
    <nav class="top-bar" role="navigation" data-topbar="true">
        <ul class="title-area">
            <li class="name">
            </li>
            <li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a>
            </li>
        </ul>

        <section class="top-bar-section">
            <ul class="left">
                <li class="divider"></li>
                <li class="has-dropdown"><a href="#"><span th:text="#{menu.administration}"></span></a>
                    <ul class="dropdown">
                        <li class="has-dropdown"><a href="#"><span th:text="#{menu.administration.material}"></span></a>
                            <ul class="dropdown">
                                <li><a href="#"><span th:text="#{menu.administration.ontology}"></span></a></li>
                            </ul>
                        </li>
                    </ul>
                </li>
            </ul>
        </section>
    </nav>

<div>
    <div class="large-12 columns">
        <h2 th:text="#{material.search.title}"></h2>
    </div>
</div>

<script th:href="@{/js/vendor/jquery.js}"></script>
<script th:href="@{/js/foundation.min.js}"></script>
<script th:href="@{/js/foundation/foundation.topbar.js}"></script>
<script th:href="@{/js/vendor/modernizr.js}"></script>

<script>
    jQuery(document).ready({
        jQuery(document).foundation();
    });
 </script>  

</body>
</html>

我确定我的资源已正确导入。

此外,我必须使用 data-topbar="true" 因为如果我仅使用 data-topbar,我的页面在渲染时会失败,并表示它期望属性名称后的 =

我做错了什么吗?

非常感谢大家的帮助!

最佳答案

问题出在我用来导入 JS 文件的属性中。

如我的代码所示,导入如下所示:

<script th:href="@{/js/foundation.min.js}"></script>

但是要导入脚本文件,href属性是错误的,它必须是src,所以正确的格式是:

<script th:src="@{/js/foundation.min.js}"></script> 

我知道这是一个愚蠢的错误,但我希望它对其他人有帮助。

事实上,在编译或生成页面时从未显示错误,这让我有点担心。

关于javascript - 基础导航顶部栏不适用于 thymeleaf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28790158/

相关文章:

javascript - 单击一定次数的按钮后添加输入字段属性

javascript - 从 Javascript 触发回发

html - 如何在 HTML 表格单元格中居中对齐文本,而不考虑单元格中的其他元素

javascript - BreezeJS - 如何从其父项中删除导航属性?

javascript - 在 Javascript 中重置原型(prototype)。为什么会破坏原型(prototype)继承链呢?

javascript - 无法让多页jquery mobile与谷歌地图一起使用

Javascript - 创建打印到 HTML 函数不起作用

javascript - 如何使下拉列表出现在默认结构中

javascript - 在链接下显示下拉菜单

html - 如何将数据绑定(bind)到 Angular4 中的 html 属性?