0

私はこのコードを持っています。クラス「ブロック」のすべての要素を10ピクセル左に移動します。300ピクセルの残りの要素を削除したい。動作しないのはなぜ$(this).remove()ですか? これを修正するにはどうすればよいですか?

    $(".block").animate({left:"-=10"},speed,"linear",function(){

        if(parseInt(this.style.left) < 300)
        {
            $(this).remove();
            //something
        }else{
            //something
        }
    });

html:

    <div id="container">
       <span class="block"></span>
       <span class="block"></span>
    </div>

これが私のコードのすべてですhttp://jsbin.com/ExET/1/

4

2 に答える 2

1

このような?jsフィドル

$('div').on('mouseover', function() {
    $(this).animate({ 
        left: '+=10' 
    }, 200, 'linear', function() {
        if($(this).offset().left > 50) {
            $(this).remove();
        } else {
            $(this).css('background', 'blue');
        }   
    });
});

値を変更する必要がありますが、希望する効果が得られます。

于 2013-08-22T02:17:06.897 に答える
0

これはあなたが望むものです: http://jsbin.com/olipOh/4/watch?html,css,js,output

子要素を選択する必要があります:

$(".block").find("*")
于 2013-08-22T02:36:10.443 に答える