Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery动画第二次不工作_Jquery_Html_Jquery Animate - Fatal编程技术网

jQuery动画第二次不工作

jQuery动画第二次不工作,jquery,html,jquery-animate,Jquery,Html,Jquery Animate,我有一个我想要设置动画的内容区域,但是动画只在我第一次点击触发器时才起作用。在第二次单击触发器时,动画将反转。这是我的密码 HTML <div class="drawer-content" id="signin"> </div><!--End #signin--> 编辑 下面是一个活生生的例子,供提问者参考。谢谢 这些评论应该让这一点不言自明。它第一次工作,但如果我尝试再次运行动画,长方体只会向下滑动,然后再次向上滑动。我做错了什么?这取决于您的ht

我有一个我想要设置动画的内容区域,但是动画只在我第一次点击触发器时才起作用。在第二次单击触发器时,动画将反转。这是我的密码

HTML

<div class="drawer-content" id="signin">   
</div><!--End #signin-->
编辑 下面是一个活生生的例子,供提问者参考。谢谢


这些评论应该让这一点不言自明。它第一次工作,但如果我尝试再次运行动画,长方体只会向下滑动,然后再次向上滑动。我做错了什么?

这取决于您的html,但我希望的是“单击”已在上注册。打开抽屉,这将启动动画并将单击处理程序设置为打开。活动

现在,如果.active是.open drawer的父级(在HTML中),它将注意到相同的单击(因为它在DOM中不会向上冒泡),从而将动画添加到当前动画

我的第一个建议是在第一个事件处理程序中添加一个
event.stopPropagation()
,看看会发生什么

但是如前所述,如果没有HTML或示例页面,就很难发现问题并进行调试


(另请参见)

滑动切换是否适合您?描述:通过滑动运动显示或隐藏匹配的元素

更新

尝试用这个替换jquery代码

 //We hide the panel
$('.drawer-content').hide();

//When the anchor is clicked the panel will slide up        
$('.open-drawer').click(function(){
    $('.drawer-content').slideToggle();

});

请使用livecoding.io或jsfiddle创建一个实时示例,以便我们能够更好地帮助您。同意前面的评论,我还想指出,使用2个类别表示活动和打开时的状态,这只是您使用它们的方式。还需要更多关于代码结构(包括HTML)的信息来帮助@GabrielFlorit,这就是为什么@GabrielFlorit需要一个JSFIDDLE。你能分享HTML代码来更好地理解吗?给你。
 //We hide the panel
$('.drawer-content').hide();

//When the anchor is clicked the panel will slide up        
$('.open-drawer').click(function(){
    $('.drawer-content').slideToggle();

});