javascript - 包括来自外部 ASP 页面的菜单内容,保持菜单项被选中

标签 javascript jquery html asp.net css

我在新网站的多个/每个页面中都有以下内容。

我已经从所有页面中删除了冗余代码,并向所有需要菜单选择选项的页面添加了include(如下所述)。使用:

<!--#include file ="Include.asp"-->

问题是,假设 session 变量或 jQuery 变量从一个页面传递到另一个页面,我们如何让页面选择的菜单项突出显示所有或任何选择?

class="current" 不知何故需要作为当前页面的前缀?当前代码保持主页突出显示,如果我们删除 class="current",我们显然会失去所有突出显示的效果。

谢谢你,新手程序员!

<nav>
<div id="menu-icon">Menu<span></span></div>
<ul class="menu responsive-menu">
    <li class="current"><a href="index.asp">Home</a></li>
    <li><a href="index1.asp">Page 1</a>
        <ul>
            <li><a href="#">Page 1.1</a></li>
            <li><a href="#">Page 1.2</a></li>
            <li><a href="#">Page 1.3</a></li>
            <li><a href="#">Page 1.4</a></li>
            <li><a href="#">Page 1.5</a></li>
            <li class="last-item"><a href="#">Page 1.6</a></li>
        </ul>
        <span class="menu-bottom"></span>
    </li>
    <li><a href="index2.asp">Page 2</a></li>
    <li><a href="index3.asp">Page 3</a></li>
    <li><a href="index4.asp">Page 4</a></li>
    <li class="last-item"><a href="index5.asp">Page 5</a></li>
</ul>
</nav>

最佳答案

一个建议是在服务器端进行。

使用背后的 ASP 代码,您可以获取 request.url 变量并提取文件名,然后像这样在您的 html 上进行替换:

html = html.replace("<li><a href=""file_name.asp""", "<li class=""current""><a href=""file_name.asp""")

如果您在创建 nav 元素的地方有任何其他循环,您当然可以在那里进行注入(inject)。

关于javascript - 包括来自外部 ASP 页面的菜单内容,保持菜单项被选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22067497/

相关文章:

javascript - 使用javascript、jquery的时差

jquery - 使用jquery确定点击下的所有元素

JavaScript 全局化 : How to compare two dates?

javascript - 如何制作一系列图形圆圈,以便我可以定期重绘到屏幕上?

javascript - 将 jquery javascript 文件或任何其他文件添加到 application.html.erb 时出现 Rails 3 问题?

javascript - 服务器端 JavaScript 或 Node.js 中的 Marklogic 结构化查询

javascript - 如何使用 anchor 标签触发 Stripe 信用卡结账?

javascript - 我应该如何在 Angular 自定义元素(Web 组件)中引用 Assets

javascript - 设计模块以便轻松模拟和测试其状态的最佳方法

javascript - 使用 fileReader 读取多张图像