У меня есть сетка элементов, расположенных с использованием Bootstrap (jsFiddle here):Применение эффектов CSS3 перехода к Bootstrap элементы
<div class="container">
<div class="row">
<div class="col-xs-3">
<div class="content-block"><p>1</p></div>
</div>
<div class="col-xs-3">
<div class="content-block"><p>2</p></div>
</div>
<div class="col-xs-3">
<div class="content-block"><p>3</p></div>
</div>
<div class="col-xs-3">
<div class="content-block"><p>4</p></div>
</div>
</div>
</div>
У меня есть событие OnClick, удаляющий Clicked элемент:
$('.col-xs-3').click(function(){
$(this).remove();
});
это работает хорошо. Но эффект довольно резкий - см. fiddle. Я хочу применить эффект перехода CSS3 к каждому col-xs-3
, поэтому при удалении остальных элементов используется переход для перемещения и заполнения пробела удаленного элемента, а не просто прыжка.
Я добавил следующее CSS, который не имеет никакого эффекта:
.col-xs-3{
-webkit-transition: all 1s ease-in-out;
-moz-transition: all 1s ease-in-out;
-o-transition: all 1s ease-in-out;
transition: all 1s ease-in-out;
}
Как я могу добиться этого?
переход CSS происходит между 2-состояниями элемента, но здесь вы просто удалив его из DOM. Даже если что-то произойдет в 1-м, вы не узнаете об этом - потому что вы его удалили. –
Вместо '$ (this) .remove();', попробуйте следующее: '$ (this) .css ({opacity: 0, width: 0});'. Это, конечно, не готовый продукт, но он даст вам представление о всех «состояниях», о которых я упомянул. Теперь у него есть «непрозрачность» и «ширина». –
Спасибо @JayMee. Хорошая точка зрения. Но меня не интересует элемент, который я удалил. Но пространство оставляет. Остальные элементы перемещаются, чтобы заполнить это пространство. Поэтому мне нужен переход, применяемый к остальным элементам - надеюсь, что это имеет смысл. – user3065931