1

私のウェブサイトには、親divに絶対位置を持つdivがあります。私が欲しいのは、divをクリックすると、拡大してブラウザの中央に配置する必要があることです。

私が試したのはこれです:

$j("#mac").click(function(){
 $j('#mac').css({
        position: 'fixed'
    });

$j('#mac').animate({
    width: 923,
    height: 498,
    left: ($j(window).innerWidth() - 923)/2,
    top: ($j(window).innerHeight() - 498)/2
  }, 1000)});

それは機能しましたが、何が起こったのかというと、#macは最初に画面の左上隅に配置され、次に画面の中央にアニメーション化されました。位置が固定されているため、これは理にかなっています。しかし、私がその位置を使用しない場合、divは中央に位置しません。

したがって、画面の左上隅に配置したくないのですが、divは元の位置から画面の中央までアニメーション化する必要があります。

誰かがこれを行う方法を知っていますか?

前もって感謝します!

4

1 に答える 1

3

CSSの位置を固定に変更すると同時に、DIVの現在の上下の位置を見つけて、それらも設定します。これで、正しい場所からアニメーションが開始されます。

var offset = $j('#mac').offset();

$j('#mac').css({
    position: 'fixed',
    top: offset.top,
    left: offset.left
});
于 2012-04-12T14:57:04.250 に答える