Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.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动画函数中传递原始显示属性?_Javascript_Jquery_Css_Animation - Fatal编程技术网

Javascript 如何在jquery动画函数中传递原始显示属性?

Javascript 如何在jquery动画函数中传递原始显示属性?,javascript,jquery,css,animation,Javascript,Jquery,Css,Animation,我将尽可能简单地解释这个问题: 我有两个div 第一部分: 第二部分: 当我在第一个div上调用slideUp时,它已经被隐藏,我想把第二个div的所有css样式都放进去,包括display属性(第一个div中是block,第二个div中是inline),然后才显示div 我试着这样做,但是第二个display属性丢失,第一个div的display属性恢复为block,而不是inline $("first").slideUp(function(){ $(this).attr("styl

我将尽可能简单地解释这个问题:

我有两个div

第一部分:

第二部分:

当我在第一个div上调用slideUp时,它已经被隐藏,我想把第二个div的所有css样式都放进去,包括display属性(第一个div中是block,第二个div中是inline),然后才显示div

我试着这样做,但是第二个display属性丢失,第一个div的display属性恢复为block,而不是inline

$("first").slideUp(function(){ 
    $(this).attr("style","display:none;"+$("second").attr("style"));
    $(this).slideDown();
});
有没有想过怎么做

对不起我的英语,但我来自保加利亚,非常需要这个,因为这是一个更大项目的重要组成部分


谢谢你

这就是
.slideDown()
的工作原理,它将元素显示为块

$(this).slideDown(function(){
   $(this).css('display','inline');
});

这将使其内联,但也可能破坏动画效果。这取决于

有两个主要问题。首先,应该使用jQuery.css来控制div的样式。其次,要按id选择div,需要使用CSS“#”符号:


复制第二个元素并替换文本怎么样

$("#first").slideUp(function () {
    var content = $(this).text();
    var copy = $("#second").clone();
    $(copy).html("");
    $(copy).text(content);
    $(copy).attr("id", "first");
    $("#first").replaceWith(copy);
    $("#first").slideDown();
});

要将第二个页面的所有css样式。。。进入第一个分区?是的。这是正确的。这将破坏动画效果。我需要一个不同的解决方案。内联元素没有
高度
,它们有
行高度
。使用
.slideDown()
是基于高度的,所以不幸的是,你必须重新考虑你的概念
$("#first").slideUp(function () {
    var content = $(this).text();
    var copy = $("#second").clone();
    $(copy).html("");
    $(copy).text(content);
    $(copy).attr("id", "first");
    $("#first").replaceWith(copy);
    $("#first").slideDown();
});