2

だから私はjqueryのアニメーションの後に見えないdivを表示する方法を理解しようとしています。divを表示するコードは次のとおりです。

$('#box_green')
    .css({
        visibility: "visible",
        opacity: 0
    })
    .fadeIn('slow')
;

divを非表示にするcss:

div#box_green{
    background-image:url(../images/bg_stripe_green.png);
    background-repeat:repeat;
    width: 478px;
    height:300px;
    position:absolute;
    top:249px;
    z-index:20;
    visibility:hidden;
}

クリック時のアニメーション:

  $(document).ready(function(){

$("#menu_h, #menu_p, #menu_q, #menu_b, #menu_c").one('click', function(){
    $("#menu_h").animate({"left": "+=419px"}, "slow");
    $("#menu_p").animate({"left": "+=313px"}, "slow");
    $("#menu_q").animate({"left": "+=210px"}, "slow");
    $("#menu_b").animate({"left": "+=104px"}, "slow");
    $("#menu_c").animate({"left": "+=0px"}, "slow");
    $("#menu_h, #menu_p, #menu_q, #menu_b, #menu_c").unbind('click');
 });

});

#menu_hアニメーションが完了した後にbox_greendivが表示されるようにするにはどうすればよいですか?また、非表示のdivもあると#box_yellowしましょう。box_greenを再びフェードアウトした後(再び非表示にした後)、どうすれば(box_green divと同じ効果で)表示できるようになりますか。私は実際に5つのdiv(box_greenとbox_yellowはそのうちの2つです)を持っており、「現在表示されているdivをオフにしてdivがクリックされていることを表示する」イベントが必要です。

4

2 に答える 2

5

を実装する必要がありますcallback

http://docs.jquery.com/Effects/animate#examplesから

コールバック関数の使用例。最初の引数はCSSプロパティの配列であり、2番目の引数はアニメーションの完了に1000ミリ秒かかることを指定し、3番目の引数はイージングタイプを示し、4番目の引数は匿名のコールバック関数です。

$("p").animate({
       height:200, width:400, opacity: .5
    }, 1000, "linear", function(){alert("all done");} );

function(){alert("all done");}自分の関数に置き換えて、何かを表示、非表示、何でもする...:P

于 2009-11-14T09:16:15.227 に答える
0

要素のCSSで遊んだり、同じ要素を表示/非表示にしたりするのではなく、 showand関数を使用することもできます。hidetoggle

于 2009-11-14T09:20:07.093 に答える