Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.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
Javascript jQuery-animate()只工作一次_Javascript_Jquery_Css - Fatal编程技术网

Javascript jQuery-animate()只工作一次

Javascript jQuery-animate()只工作一次,javascript,jquery,css,Javascript,Jquery,Css,我的网页上有一些隐藏或显示侧菜单的功能。我有两个div,#折叠侧导航,和#展开侧导航。现在的设置方式是,默认情况下,expand side nav的样式设置为display:none。然后,当用户单击折叠侧导航id时,侧导航折叠,然后显示#展开侧导航 我注意到新的#expand side nav的定位需要进一步向右,并且比#collapse side nav的div稍高一点,我想通过动画来实现这一点,使它看起来圆滑。我的代码如下。但是,当我在浏览器中测试时,动画只工作一次 $('#collaps

我的网页上有一些隐藏或显示侧菜单的功能。我有两个div,
#折叠侧导航
,和
#展开侧导航
。现在的设置方式是,默认情况下,expand side nav的样式设置为
display:none。然后,当用户单击
折叠侧导航
id时,
侧导航
折叠,然后显示
#展开侧导航

我注意到新的#expand side nav的定位需要进一步向右,并且比
#collapse side nav的
div稍高一点,我想通过动画来实现这一点,使它看起来圆滑。我的代码如下。但是,当我在浏览器中测试时,动画只工作一次

$('#collapse-side-nav').click(function() {
    $('.side-nav').toggle(300);
    $('#collapse-side-nav').css('display', 'none');
    $('#expand-side-nav').css('display', 'inherit');
    $('#expand-side-nav').animate({
        'margin-left' : 34,
        'margin-top' : 2
     }, "slow");
    $('.container').animate({
        'padding-left' : 0
     }, "slow");
});
$('#expand-side-nav').click(function() {
    $('.side-nav').toggle(325);
    $('#expand-side-nav').css('display', 'none');
    $('#collapse-side-nav').css('display', 'inherit');
    $('.container').animate({
        'padding-left' : 200
    }, "slow");
});
编辑: 今天晚些时候我会试着发一把小提琴。我还试图指控而不是宣布确切的像素()
但是每次都会增加,这意味着每次用户单击div时,css都会越来越向右推。

发布HTML或准备JSIDLE。代码中有三行不必要的逗号,这可能会阻止JS再次执行:“padding left”:200,@SzybkiSasza我已经去掉了动画中不必要的逗号。然而,这个问题仍然存在。我还更新了问题以反映代码中的这些更改。当您再次尝试设置动画时,元素的边距已设置为这些值。你必须重置动画的边距才能产生任何效果。@Guffa我如何重置动画?发布你的HTML,或准备一个JSFIDLE。你的代码中有三行不必要的逗号,这可能会阻止JS再次执行:“padding left”:200,@SzybkiSasza我已经去掉了动画中不必要的逗号。然而,这个问题仍然存在。我还更新了问题以反映代码中的这些更改。当您再次尝试设置动画时,元素的边距已设置为这些值。你必须重置动画的边距才能产生任何效果。@Guffa我如何重置动画?发布你的HTML,或准备一个JSFIDLE。你的代码中有三行不必要的逗号,这可能会阻止JS再次执行:“padding left”:200,@SzybkiSasza我已经去掉了动画中不必要的逗号。然而,这个问题仍然存在。我还更新了问题以反映代码中的这些更改。当您再次尝试设置动画时,元素的边距已设置为这些值。您必须重置动画的边距才能产生任何效果。@Guffa我如何重置动画?