Jquery slideToggle和toggleClass一起工作?
你可以在这里看到我当前的代码 我想点击按钮,将类应用于div,延迟,然后打开面板。在第二次单击时,它应该删除该类并将面板向后滑动 当我再次单击按钮时,它会删除类(完美),但不会切换幻灯片。有人能帮我吗Jquery slideToggle和toggleClass一起工作?,jquery,slidetoggle,toggleclass,Jquery,Slidetoggle,Toggleclass,你可以在这里看到我当前的代码 我想点击按钮,将类应用于div,延迟,然后打开面板。在第二次单击时,它应该删除该类并将面板向后滑动 当我再次单击按钮时,它会删除类(完美),但不会切换幻灯片。有人能帮我吗 <html> <div class="third"> <h2 class="toggle">CLICK</h2> <div id="panel"> <p>Panel details go h
<html>
<div class="third">
<h2 class="toggle">CLICK</h2>
<div id="panel">
<p>Panel details go here.</p>
</div>
</div>
</html>
<style>
.third {
width:33.3%;
float:left;
text-align:center;
-webkit-transition: all ease 1s;
-moz-transition: all ease 1s;
-o-transition: all ease 1s;
transition: all ease 1s;
}
.full {
width:100%;
-webkit-transition: all ease 1s;
-moz-transition: all ease 1s;
-o-transition: all ease 1s;
transition: all ease 1s;
}
#panel {
float:left;
width:100%;
height:300px;
padding:2%;
background:red;
border:1px solid #fff;
clear:both;
display:none;
}
</style>
<script>
$(function(){
$('.toggle').click(function() {
$(".third").toggleClass("full").queue(function(){
$('#panel').slideToggle(1000).delay(1000);
});
});
});
</script>
点击
面板细节在这里
.第三{
宽度:33.3%;
浮动:左;
文本对齐:居中;
-webkit过渡:所有ease 1s;
-moz转换:所有ease 1s;
-o-过渡:所有1秒;
过渡:所有1秒;
}
.满{
宽度:100%;
-webkit过渡:所有ease 1s;
-moz转换:所有ease 1s;
-o-过渡:所有1秒;
过渡:所有1秒;
}
#面板{
浮动:左;
宽度:100%;
高度:300px;
填充:2%;
背景:红色;
边框:1px实心#fff;
明确:两者皆有;
显示:无;
}
$(函数(){
$('.toggle')。单击(函数(){
$(“.third”).toggleClass(“full”).queue(函数(){
$('面板')。滑动切换(1000)。延迟(1000);
});
});
});
移除队列可以达到目的,请参见此处:
我还更改了链中的延迟,因此现在是:
$('#panel').delay(1000).slideToggle(1000);
看看这是不是你想要的
如果你想让它在关闭时第一次滑动,恐怕你不能使用一个切换功能,但必须检查当前状态并进行轻微修改
类似这样的内容:太好了,谢谢!如果我在一个页面上有两套,但一次只想打开一套(打开一套,关闭另一套),我会怎么做?不客气。在这种情况下,您需要检查单击的是哪一个,然后打开一个并关闭另一个。可能切换功能会让人困惑,这是使用slideUp/Down的版本:确保没有重复的ID(如panel):由于延迟,当您快速单击它们时,它们可能会变得疯狂,因此我建议您添加一个表示当前打开的ID的变量,并将其用于检查,而不是检查
full
类。但是你知道了大概的意思。@Shomz那很好,应该是你生活的一部分answer@r3wt谢谢,虽然这不是最好的代码(远不是),但它就像是一个又一个的快速修复程序。整个过程可能都应该重写,使用单独的关闭/打开函数来避免所有兄弟姐妹/孩子/父母的混乱。我不希望任何人把这当作一个起点。。。不管怎样,我们已经偏离了原来的问题很多