【发布时间】:2014-02-14 17:47:54
【问题描述】:
我正在使用 Jquery 的 slideToggle() 打开和关闭我的主菜单。 slideToggle() 完美地工作。
我需要做的是让 slideToggle 在打开另一个 div 时关闭一个 div。我尝试了很多不同的方法来实现这一点,但我一直无法做到。
我在stackoverflow上找到了以下建议:
uses the id of the tag to trigger slideToggle()
我发现这个建议是,每次我点击每个菜单项时,页面都会跳到顶部(就像它正在重新加载一样),我不喜欢这样。
我还发现了这段代码:
我尝试在该小提琴中添加第三个框以查看发生了什么,但它的工作方式与前两个框不同,我不知道为什么。
这是我的 HTML 的样子:
<div class="menu-item-1">
<a href="#">Recovery</a>
</div>
<div class="menu-item-2">
<a href="#">Forensics</a>
</div>
<div class="menu-item-3">
<a href="#">Erasure</a>
</div>
<div class="menu-item-4">
<a href="#">Training</a>
</div>
<div class="menu-item-5">
<a href="#">Products</a>
</div>
这就是我的 javascript 的样子:
$( ".menu-item-1" ).click(function() {
$( ".recovery-bg" ).slideToggle("fast", "easeOutBack");
});
$( ".menu-item-2" ).click(function() {
$( ".forensic-bg" ).slideToggle();
});
$( ".menu-item-3" ).click(function() {
$( ".erasure-bg" ).slideToggle();
});
$( ".menu-item-4" ).click(function() {
$( ".training-bg" ).slideToggle();
});
$( ".menu-item-5" ).click(function() {
$( ".product-bg" ).slideToggle();
});
这里是 slideToggle() 的 div 的 HTML 代码:
<!--Expanding Recovery Menu-->
<div class="recovery-bg arrow_box_recovery toggle hidden-phone">
<div class="container expand">
<div class="row">
<div class="span2 offset1">
<div class="menu-item">
<a href=""><p>Data <br/> Recovery</p></a>
</div>
</div>
<div class="span2 offset1">
<div class="menu-item">
<a href=""><p>Raid <br/> Recovery</p></a>
</div>
</div>
<div class="span2 offset1">
<div class="menu-item">
<a href=""><p>Forensic <br/> Data Recovery</p></a>
</div>
</div>
<div class="span2 offset1">
<div class="menu-item">
<a href=""><p>Tape <br/> Recovery</p></a>
</div>
</div>
</div>
</div>
</div>
<!--/Expanding Recovery Menu-->
我也阅读了其他一些教程,但在其中我注意到有些人的标签中没有href,如果可以的话,我想避免这样的事情。
如果有人可以提供帮助,那就太好了。
【问题讨论】:
-
recovery-bg等打开/关闭元素的标记在哪里 -
我已经为滑动 Toggle() 的 div 添加了 html。在我的 css 中,我刚刚将 .recovery-bg 设置为不显示。当你点击它是可见的。
-
谢谢。我对该代码的问题是,当我添加另一个框时,它不能以相同的方式工作,请参见此处:link Fiddle。如果你能看到我做错了什么并纠正我,那就太好了。
标签: jquery html slidetoggle