手风琴菜单停止添加 href 链接
这是我的简单手风琴:
<script type="text/javascript">
$(function()
{
$("dt.title").click(function()
{
$("div.info").slideUp("slow");
$(this).next("div.info:hidden").slideDown("normal" );
});
});
</script>
它与这个 html 一起工作正常:
<body>
<div id="wrapper">
<div id="container">
<ul id="nav">
<dt class="title"><a href="#">About</a></dt>
<dt class="title"><a href="#">Work</a></dt>
<div class="info">
<ul>
<li><a href="#">Bol</a></li>
<li><a href="#">Annie</a></li>
<li><a href="#">Imran</a></li>
</ul>
</div>
<dt class="title"><a href="#">Contact</a></dt>
<dt class="title"><a href="#">Links</a></dt>
</ul>
</div>
<div id="content">
</div>
</div>
</body>
</html>
当我放置 href 链接时,菜单停止工作。例如:
<dt class="title"><a href="about.html">About</a></dt>
还告诉我如何在菜单中添加活动和悬停状态。
Here my simple accordion :
<script type="text/javascript">
$(function()
{
$("dt.title").click(function()
{
$("div.info").slideUp("slow");
$(this).next("div.info:hidden").slideDown("normal" );
});
});
</script>
And it works fine with the this html :
<body>
<div id="wrapper">
<div id="container">
<ul id="nav">
<dt class="title"><a href="#">About</a></dt>
<dt class="title"><a href="#">Work</a></dt>
<div class="info">
<ul>
<li><a href="#">Bol</a></li>
<li><a href="#">Annie</a></li>
<li><a href="#">Imran</a></li>
</ul>
</div>
<dt class="title"><a href="#">Contact</a></dt>
<dt class="title"><a href="#">Links</a></dt>
</ul>
</div>
<div id="content">
</div>
</div>
</body>
</html>
When I put the href links, the menu stops working. For example :
<dt class="title"><a href="about.html">About</a></dt>
Also tell me how can I add the active and hover state in the menu.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您忘记了
return false
如果您计划在
content
元素中加载about.html
的内容,请使用load
> 方法。您的函数将类似于但这不适用于跨域 url。
[更新]
You forgot to
return false
If you are planning to load the content of
about.html
incontent
element then useload
method. Your function will be something likeBut this will not work for cross-domain url.
[UPDATE]
这是因为您没有阻止浏览器执行对链接的请求。因此,它被视为链接。您可以在单击函数末尾
return false;
或将 href 属性值动态 (JavaScript) 替换为#
;[编辑]
即使我还没有测试过,这应该有效。希望它至少能给你带来想法。
That is because you are not preventing the browser from executing the request to the link. Therefor, it is treated as a link. You can either
return false;
at the end of you click function or replace the href attribute value dynamically(JavaScript) to#
;[EDIT]
This should work even though I haven't tested it. Hope it at least gives you the idea.