0

問題をできるだけ簡単に説明しようとします。

私は2つのdivを持っています

最初のdiv:<div id="first" style="color:black;"></div>

2番目のdiv:<div id="second" style="color:red;display:inline;"></div>

最初のdivでslideUpを呼び出し、それがすでに非表示になっているときに、表示プロパティを含む2番目のすべてのcssスタイルを配置し(最初のdivはブロック、2番目はインライン)、その後のみdivを表示します。

私はこのようにしようとしましたが、2番目の表示プロパティが失われ、最初のdivの表示プロパティがインラインではなくブロックに復元されます。

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

それを行う方法はありますか?

私の英語で申し訳ありませんが、私はブルガリア出身で、これが本当に必要です。これは、より大きなプロジェクトの重要な部分であるためです。

よろしくお願いします!

4

3 に答える 3

0

2番目の要素のコピーを作成してテキストを置き換えるのはどうですか?

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

主な問題は 2 つあります。まず、jQuery.css を使用して div のスタイルを制御する必要があります。次に、ID で div を選択するには、CSS の「#」記号を使用する必要があります。

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