2

クリックでブロックをフェードアウトさせ、その後ブロックの位置を変更してフェードインしようとしています。しかし、うまくいきません。コードは次のとおりです。

$("#info-panel").fadeOut("fast");

$("#info-panel").css({
    top: (new pos),
    left: (new pos)
});

$("#info-panel").fadeIn("fast");

CSS:

#info-panel {
    display: none;
    position: absolute;
    background-color: #333;
    border: 1px solid #999;
    padding: 15px;
    max-width: 300px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    -webkit-box-shadow: inset 0px 0px 10px #000;
    -moz-box-shadow: inset 0px 0px 10px #000;
    box-shadow: inset 0px 0px 10px #000;
    border: 3px solid #666666;
    z-index: 5;
}
4

3 に答える 3

3

次のようなことを試してください:

$("#info-panel").fadeOut("fast", function() {
    $(this).css("color", "red"); //Use your CSS here, I did this as an example.
}).fadeIn("fast");

デモ: http://jsfiddle.net/tymeJV/RPxrS/

于 2013-05-13T16:08:29.970 に答える
1

ここでコールバック関数を使用する必要があります。

$("#info-panel").fadeOut("fast", function () {
    $(this).animate({
        top: (new pos),
        left: (new pos)
    }, "fast", function () {
        // Animation complete.
        $(this).fadeIn("fast");
    });
});

デモはこちら

于 2013-05-13T16:21:26.057 に答える