Javascript 如何在jquery动画函数中传递原始显示属性?
我将尽可能简单地解释这个问题: 我有两个div 第一部分: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上调用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();
});