【发布时间】:2014-10-21 13:16:13
【问题描述】:
我正在尝试制作交互式地图以显示一系列服务的位置 - 每个服务都有自己的图标,并且我有一个图例(菜单)需要在单击链接时显示服务并隐藏所有其他服务。所有服务都必须在首页加载时显示(在点击任何链接之前)。
我已将每个服务(图标)设置为一个类,并将相关类应用于具有相对定位的 div,以使图标位于地图上的正确位置 - div 也用于工具提示功能,所以我无法更改 html 结构 - 我需要显示/隐藏来处理类而不是 div(有很多服务)。
我几乎已经让 http://jsfiddle.net/M3ZhV/363/ 类的显示/隐藏工作了,但它似乎只有在你已经点击了一次链接之后才能工作,即你需要在注册之前点击两次链接......
这里是html
<div class="nav">
<ul id="menu">
<li id="link1"><a href="#" data-page="page1">Topic One</a>
</li>
<li id="link2"><a href="#" data-page="page2">Topic Two</a>
</li>
<li id="link3"><a href="#" data-page="page3">Topic Three</a>
</li>
</ul>
</div>
<div class="main">
<div class="page1">
<h1>Show Page1</h1>
</div>
<div class="page2">
<h1>Show Page2</h1>
</div>
<div class="page3">
<h1>Show Page3</h1>
</div>
</div>
和 jquery:
$(function () {
var curPage = "all";
$("." + curPage).show();
$("#menu a").click(function () {
if (curPage.length) {
$("." + curPage).hide("all");
}
curPage = $(this).data("page");
$("." + curPage).show();
});
});
谁能帮我指出正确的方向,让它立即工作?即页面加载显示所有类,然后当第一次单击链接时,它只显示与该链接相关的类并隐藏所有其他类。
非常感谢任何人就如何实现这一目标提出建议 - 谢谢。
【问题讨论】: