如何从菜单中预加载html链接并使用javascript隐藏/显示内容?

如何从菜单中预加载html链接并使用javascript隐藏/显示内容?,javascript,html,css,ajax,preloading,Javascript,Html,Css,Ajax,Preloading,我有一个html菜单与链接到其他网页有这个菜单也包括在内。非常基本: <div id="sidebar-nav"> <ul id="dashboard-menu"> <li class="active"> <div class="pointer"> <div class="arrow"></div> <div

我有一个html菜单与链接到其他网页有这个菜单也包括在内。非常基本:

<div id="sidebar-nav">
    <ul id="dashboard-menu">
        <li class="active">
            <div class="pointer">
                <div class="arrow"></div>
                <div class="arrow_border"></div>
            </div>
            <a href="index.html">
                <i class="icon-dashboard"></i>
                <span>Home</span>
            </a>
        </li>
        <li>
            <a href="1.html">
                <i class="icon-signal"></i>
                <span>1</span>
            </a>
        </li>
        <li>
            <a href="2.html">
                <i class="icon-picture"></i>
                <span>2</span>
            </a>
        </li>
        <li>
            <a href="3.html">
                <i class="icon-calendar-empty"></i>
                <span>3</span>
            </a>
        </li>
    </ul>
</div>

因此,基本上,这个菜单有助于浏览内容

当我加载菜单的主页时,我希望有一个功能也能自动加载其他链接,从而加快导航速度,当然,我希望这些链接的内容仅在单击菜单中相应的链接时显示

我应该研究什么库/函数来实现这一点?

使用哪个库或函数 您可以看到,在我的代码中,所有内容都是jQuery。因此,在我的建议中,jQuery将是最适合您的!您可以在这里购买:

甚至在他们的网站www.jquery.com上,你可以在他们的页脚标签上有一个快速链接

页面将被缓存 您的页面及其部分代码保存为本地存储器中的缓存,您可以使用F12将其签出。这将打开开发人员工具,然后在网络工作区中,检查哪些是从服务器加载的,哪些是从本地存储加载的。几乎每个浏览器都会保存一些代码,比如.css文件或脚本,这样就不必每次都加载。您可以在浏览器中看到代码304(请纠正我的错误),这意味着该文件是从本地计算机加载的。所以不要担心这个。您还可以获得其他关于加速和缓存会话的帮助性文章

动态创建菜单 要动态创建链接导航菜单,可以使用:

例子 在代码的
HTML
中,您可以编写列表项。将对其进行设置,以便您获得它们。您可以在page start上调用此函数,如下所示:

代码示例 技巧 如果您不知道菜单将是什么,例如,您希望从数据库加载数据,您也可以使用
ajax
请求,这样您将在仪表板菜单中写入结果。然而,仅仅删除导航菜单并在页面加载后对其进行修改,您的站点将无法快速运行

例如:

$.ajax({
  url: "page_to_load.html"
  success: function (data) {
    $('#dashboard-menu').html(data);
  }
});
使用Ajax的另一种方法 另一种方法是
load()

仅显示相对菜单的步骤 要显示内容,可以使用
show()
。像这样,让我们从您的代码中获取示例

代码片段
所以你想强制客户端缓存链接目标?我不确定你的站点有多大,但是一次加载多个站点会大大降低站点的速度。我对预加载不太了解,但加载其他页面(按需!)可以通过
ajax
完成。其中,一次加载多个页面并显示不同站点的操作与jQuery mobile使用其
页面
元素的操作类似如果我找到这样一个框架,它能以这种方式为您工作,我会向您汇报。@AlexanderKosubek它确实是一种缓存。我想这不是最干净的方法,但现在我不能在一个页面中连接所有html,因为动态内容。我将在稍后阶段解决此问题。我想这将接近bootstrap对选项卡的功能。@Smamatti这些页面非常小,我可以控制大小,正如前面所说,这是第一阶段。
$(document).ready(function () {
  $('#dashboard-menu').html();
}
$.ajax({
  url: "page_to_load.html"
  success: function (data) {
    $('#dashboard-menu').html(data);
  }
});
<li>
   <a href="1.html">
     <i class="icon-signal"></i>
       <span>1</span>
   </a>
</li>
$('li').click(function () {
  $(this).find('a').show(); // or even use toggle()
}