css - 菜单栏上的 HTML5 链接离开当前页面

标签 css html

我有一个链接到本地​​网页的菜单栏,它工作正常,除了当我点击菜单栏上的链接时,它会转到有问题的网页,留下带有菜单栏的网页,但我希望加载下面的页面菜单栏,这样用户就可以使用菜单栏进行导航。我应该使用 iframe 吗?抱歉,很长一段时间没有使用 HMTL5,非常感谢任何帮助。

尼尔。

<div class="menu">
        <a href="home.hmtl">Home</a>
        <a href="index.html">Index of Services</a>
        <a href="schedule.html">Schedule</a>
        <a href="examples.hmtl">Examples</a>
     </div>
    <div class="content">

    This page is to help you organise

</div>

最佳答案

是的,你需要框架。或者,最常见的是,在所有 html 上使用相同的菜单代码,因为使用框架,您的 url 不会改变,除非您采取一些技巧。

如果您不想重复代码,您可以使用 PHP。然后,您可以创建一个包含菜单和包含页面内容的 index.php。

编辑:
您也可以使用一些 JavaScript 来完成它,但它也有与 url 相同的问题。如果禁用 JavaScript,该网站也将无法运行。

编辑2: 我之前说的frame和javascript的tricks可以在不重写url的情况下实现,纯HTML+CSS+JS就是带 anchor 。

基本上,您将 url 更改为带有页面名称的 anchor ,并且在首次加载页面时检查此哈希,以便在有人输入您的 url 时打开正确的框架,例如 http://mypage.com/#examples 。您可以使用 window.location.hash 访问和设置哈希。

所以你的代码应该是这样的:

<div class="menu">
    <a href="#home">Home</a>
    <a href="#index">Index of Services</a>
    <a href="#schedule">Schedule</a>
    <a href="#examples">Examples</a>
</div>
<div class="content">
    This page is to help you organise
</div>

无论有无框架,您都需要将 JavaScript 事件附加到每个菜单项。

有了框架,JS 基本上会在用户单击菜单时更改框架 url。

如果没有框架,您可以使用 xhr 下载 html,然后,如果您成功下载了 html,则删除 div.content 中的所有内容并替换为您下载的内容使用 innerHtml

对于这两种解决方案,您都需要添加一个 JS,它会在您首次加载页面时检查哈希值,以相应地更新显示的页面。

至于 PHP 或其他服务器端“脚本”,任何初学者教程都会解释如何操作。

关于css - 菜单栏上的 HTML5 链接离开当前页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50431006/

相关文章:

javascript - 使用 JS(无 Jquery)切换 html IMG 元素的类

html - div HTML 中的较小元素

javascript - 如何关闭侧边栏菜单? ( Bootstrap )

javascript - 响应式导航 - flexbox 下拉菜单导致溢出

css - 使 iOS WebView 表现得像电子书阅读器

python - 使用 dryscrape 进行网页抓取 : error selecting radio button CSS

javascript - 如何让 Bootstrap 导航栏滑动过渡工作?

javascript - 有没有办法动态编辑WebView中显示的内容?

javascript - 如何 "stabilize"一个div

html - 绝对定位和 chrome 过渡