0

アニメーションで不透明度を0に変更し、無効にしたときに表示プロパティを「none」に変更して、divを非表示にします。両方の機能は、onclickまたは少なくとも1つのアクションで開始する必要があります。これにより、divが非表示になり(フェードアウトなど)、その後消えます。


私はこのコードを使用してアニメーションを実行しています:

function animateStyle(divID) {
    $("#" + divID).css({ "opacity": "1" }).animate({ "opacity": "0" }, 900);
};

<span onclick="return animateStyle('alert-background');" 
class="close">&#10008;</span>

.hideを使用してdivを無効にしようとしましたが、両方を一緒に機能させることはできません。アニメーションが機能する場合、divは消えず、非表示のままになります。また、divが消えると、アニメーションは機能しません。このアイデアのより良い解決策があるかもしれませんか?


更新: 私は自分がやりたいことをする方法を見つけましたが、それは解決策よりもトリックです:

function animateStyle(divID) {
    $("#" + divID).css({ "opacity": "1" })
                  .animate({ "opacity": "0" }, 900)
                  .delay(1100)
                  .css({ "margin-top": "0" })
                  .animate({ "margin-top": "-100000px" }, 1);
};

これは正しく機能しますが、divを画面の外に移動するのではなく、完全に削除したいと思います。それを行う方法があることを願っています...

4

1 に答える 1

1

使用できますfadeOut

$("#" + divID).fadeOut(900);

これは、次の省略形であるはずです。これは、既に持っているものに近いものです。

$("#" + divID).css({ "opacity": "1" }).animate({ "opacity": "0" }, {
    duration: 900,
    complete: function() { $(this).hide(); }
});
于 2013-02-26T01:22:40.843 に答える