2

要素がたくさんある場合は、次のようになります。

<p class="test" data-left="250" data-bottom="55">Good morning.</p>
<p class="test" data-left="350" data-bottom="123">Good afternoon.</p>
<p class="test" data-left="290" data-bottom="300">Good night.</p>

...など、どうすればそれらをアニメーション化できますか?私は最初に試しました:

$('.test').animate({
  left: $(this).attr('data-left'),
  bottom: $(this).attr('data-bottom')
});

しかし、$(this)コンテキストはここでは利用できないようです。これを行う方法はありますか?それとも、それ.each()を実装するためのループを作成する場合でしょうか?

注:古いバージョンのjQueryを使用しているため、.attr()

4

2 に答える 2

2

これらの要素を繰り返す必要があります。

$('.test').each(function() {
    var $this = $(this);

    $this.animate({
        left: +$this.attr('data-left'),
        bottom: +$this.attr('data-bottom')
    });
});

単位のない文字列も数値に解析する必要があると思います。

于 2013-02-13T11:02:35.167 に答える
0

あなたが使用する必要があります.each()

$('.test').each(function(){
   $(this).animate({
            left:$(this).attr('data-left'),
            bottom:$(this).attr('data-bottom')
   })
});
于 2013-02-13T11:01:14.253 に答える