如何从菜单中预加载html链接并使用javascript隐藏/显示内容?
我有一个html菜单与链接到其他网页有这个菜单也包括在内。非常基本:如何从菜单中预加载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
<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()
}