stackoverflow的优秀人员帮助我解决了这个问题,现在我只需要在终点线上进行一点推动。
我需要一个切换按钮,在点击时向下打开div(向下滑动),然后在点击时关闭,pref也会有一个活动的类。
但是,如果您单击另一个切换按钮,子div打开并关闭上一个,如果它已打开。
所以基本上没有一个开放的div可以同时打开,一次只能打开一个。
我需要通过锚点ID来完成,因为开场div与切换按钮无关(它在页面下方有点)
到目前为止,这不起作用,但所有的HTML都在那里.. http://jsfiddle.net/CkTRa/398/
非常感谢你,如果有人可以提供帮助,搜索高低,我找到的最近的是http://andylangton.co.uk/articles/javascript/jquery-show-hide-multiple-elements/但是当你点击一个新的时,它并没有关闭已经打开的div。
答案 0 :(得分:4)
<强> DEMO 强>
$("a").click(function(){
var myelement = $(this).attr("href")
$(myelement).slideToggle("slow");
$(".toggle:visible").not(myelement).hide();
});
答案 1 :(得分:1)
Here's a jsFiddle根据锚标记中的href获取正确的div:
基本上:
$( $(this).find("a").attr('href') ).slideToggle("slow");
编辑:
jsFiddle that hides any open ones, not being the current
基本上:
var divToToggle = $( $(this).find("a").attr('href') );
$(".toggle:visible").not(divToToggle).hide();
divToToggle.slideToggle("slow");
答案 2 :(得分:1)
正如其他答案中所提到的,为了使下一个()工作,必须改变布局(见小提琴) 之后,要先关闭所有切换div,您可以使用:
$(".toggle").slideUp("slow");
但是为了防止干扰扩展的div,可以使用not来排除该div:
var div = $(this).next(".toggle");
$(".toggle").not(div).slideUp("slow");
div.slideToggle("slow");
答案 3 :(得分:0)
<h3 class = "trigger" href="#box1">Heading 1</h3>.
优于:
<h3 class = "trigger"><a href="#box1">Heading 1</a></h3>.
当内容滑回时,第二个选项会出现显示问题。