2013-08-22 3 views
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/

+3

работает для меня: http://jsfiddle.net/cmvUZ/ –

+0

@JosephSilber для меня элементы имеют класс «блок», они не входят в класс «block» –

+0

Это не должно иметь никакого значения. Я просто использовал его, чтобы показать, куда движется материал. Можете ли вы опубликовать скрипт своего кода, который не работает? Обязательно укажите только код, соответствующий этому вопросу: [** SSCCE **] (http://sscce.org/). –

ответ

1

Как это? jsFiddle

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

Вам нужно будет изменить значение, но это достигается эффект, который вы хотите.

Смежные вопросы