0

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

我有两个 div

第一个div:<div id="first" style="color:black;"></div>

第二个分区:<div id="second" style="color:red;display:inline;"></div>

我想当我在第一个 div 上调用 slideUp 并且它已经隐藏时,放置第二个的所有 css 样式,包括显示属性(在第一个 div 中是块,在第二个是内联)然后才显示 div。

我尝试这样做,但随后第二个显示属性丢失,第一个div的显示属性恢复为块,而不是内联。

$("first").slideUp(function(){ 
    $(this).attr("style","display:none;"+$("second").attr("style"));
    $(this).slideDown();
});

任何想法怎么做?

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

提前谢谢!

4

3 回答 3

0

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

$("#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();
});

http://jsfiddle.net/kmd97/rKejG/19/

于 2013-02-07T13:20:53.970 回答
0

这就是.slideDown()它将元素显示为块的工作方式。

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

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

于 2013-02-07T13:06:48.990 回答
0

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

$(this).attr("style", $("#second").attr("style"));
$(this).css("display", "none");
于 2013-02-07T13:09:24.663 回答