1

jQuery の 内でposition:relative、初期プロパティが設定されていない要素にどのようにプロパティを設定しますか?positionanimate()

これは動作しません:

$(mLinks[id]).animate
(
    {
        position:'relative',
        left:'200px'
    }
);

それmLinksが有効な DOM 要素オブジェクトであるとします。

durationcallbackパラメータも試しました。

4

3 に答える 3

6

css 属性を「アニメーション化」するのは意味がpositionありませんね。relativeabsoluteまたはまたはそのようなものの間には何もありませんstatic...

これは私がすることです:

$(mLinks[id]).css('position', 'relative').animate
(
    {
        left:'200px'
    }
);

対応するjQuery docを読むと、次のことがわかります。

most properties that are non-numeric cannot be animated using basic jQuery functionality (For example, width, height, or left can be animated but background-color cannot be, unless the jQuery.Color() plugin is used).

于 2012-12-12T13:56:46.850 に答える
2

このanimateメソッドでは css 属性を設定することはできませんが、これは理にかなっていますが、優れたアニメーションを作成するには css 属性を正しく設定する必要がありますが、これらは 2 つの異なるものです。

したがって、最初に css 属性を設定する必要があります。そして、cssメソッドを使用する必要があります:

$(mLinks[id]).css("position", "relative")

アニメーションを開始できるようになったら:

$(mLinks[id]).animate({ left:'200px' });

すべてを組み合わせると、次のようになります。

$(mLinks[id]).css("position", "relative").animate({ left:'200px' });
于 2012-12-12T13:56:43.970 に答える
0

このコードを見てください。

<html>
<head>
    <title>Hello there</title>
    <script type="text/javascript" src = "assets/js/jquery.min.js"></script>
</head>
<body>
    <div class="tobechanged" style = "background:#ddd;position:fixed;">
        hello there.
    </div>
    <script type="text/javascript">
    $('.tobechanged').css('position','relative').animate({
        opacity: 0.9,
        left: '+=50'},
        4000, function() {
        //some stuff here.
    });
    </script>
</body>
</html>

これで問題なく動作するはずです。

于 2012-12-12T14:05:41.573 に答える