Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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 为什么jqueryanimate将我的div设置为display:none?_Javascript_Jquery_Css - Fatal编程技术网

Javascript 为什么jqueryanimate将我的div设置为display:none?

Javascript 为什么jqueryanimate将我的div设置为display:none?,javascript,jquery,css,Javascript,Jquery,Css,jqueryanimate对我的CSS做了一些意想不到的事情。当设置paddingLeft动画时,它将div设置为显示:无;这是无意的,我不明白为什么会这样 $(“#菜单切换”)。单击(函数(事件){ event.preventDefault(); if($('#边栏包装器').width()==0){ $(“#侧边栏包装”)。设置动画({ 宽度:“切换” }, { 持续时间:600, 队列:false, 完成:函数(){/*动画完成*/} })$(“#页面内容包装”)。动画({ paddin

jqueryanimate对我的CSS做了一些意想不到的事情。当设置
paddingLeft
动画时,它将div设置为
显示:无
;这是无意的,我不明白为什么会这样


$(“#菜单切换”)。单击(函数(事件){
event.preventDefault();
if($('#边栏包装器').width()==0){
$(“#侧边栏包装”)。设置动画({
宽度:“切换”
}, {
持续时间:600,
队列:false,
完成:函数(){/*动画完成*/}
})$(“#页面内容包装”)。动画({
paddingLeft:“切换”
}, {
持续时间:600,
队列:false,
完成:函数(){/*动画完成*/}
});
}否则{
$(“#侧边栏包装”)。设置动画({
宽度:“切换”
}, {
持续时间:600,
队列:false,
完成:函数(){/*动画完成*/}
})$(“#页面内容包装”)。动画({
paddingLeft:“切换”
}, {
持续时间:600,
队列:false,
完成:函数(){/*动画完成*/}
});
}
});
已解决: 如果有人感兴趣,这里有一个解决方案:

来自文档:

除数值外,每个属性还可以采用字符串“显示”、“隐藏”和“切换”。这些快捷方式允许根据元素的显示类型自定义隐藏和显示动画。为了使用jQuery的内置切换状态跟踪,“toggle”关键字必须始终作为动画属性的值


如果我的内存可用,并且如文档所示,这些快捷方式会做额外的工作,在动画开始和完成时字面上“显示”和“隐藏”元素。jquery似乎考虑了最初的显示,然后将其存储起来,以便以后恢复。Toggle只是一个“show”和“hide”宏,似乎以同样的方式工作。

你也可以包含最小的html吗?我想看看plunker或JSFIDLE可能是因为这样:`width:'Toggle'`那么好吧。我如何解决这个问题?只需使用+=和-=?这似乎是一个与此处发布的问题不同的问题,但我确实很快为您准备了这个问题:或者,您可以使用JS简单地切换一个或多个CSS类,并让CSS处理动画。实际上,在听到切换的功能后,我自己修复了它。酷。很高兴这有帮助!:)
<script>
    $("#menu-toggle").click(function(event){
        event.preventDefault();
        if($('#sidebar-wrapper').width() == 0){
            $("#sidebar-wrapper").animate({
                width: 'toggle'
            }, {
                duration: 600,
                queue: false,
                complete: function() { /* Animation complete */ }
            });$("#page-content-wrapper").animate({
                paddingLeft: 'toggle'
            }, {
                duration: 600,
                queue: false,
                complete: function() { /* Animation complete */ }
            });
        }else{
            $("#sidebar-wrapper").animate({
                width: 'toggle'
            }, {
                duration: 600,
                queue: false,
                complete: function() { /* Animation complete */ }
            });$("#page-content-wrapper").animate({
                paddingLeft: 'toggle'
            }, {
                duration: 600,
                queue: false,
                complete: function() { /* Animation complete */ }
            });
        }
    });
</script>