у меня есть набор изображений, которые расположены абсолютно, я хочу быть в состоянии нажать кнопку и иметь их всех, анимируют туда, где они обычно были бы на странице, если бы у них было положение: родственник.
таким образом, даже возможно анимировать от position:absolute до position:relative в jQuery?
это - то, что я имею:
$(".change_layout").click(function(){
$(".book_img").animate({position:'relative', top:'0px', left:'0px'}, 1000)
})
Нет, вы не можете анимировать его напрямую, но вы можете узнать конечную точку и анимировать положение там. Что-то вроде этого может сработать при анимации в позиции static
:
$('img.foo').each(function() {
var el = $(this);
// Make it static
el.css({
visibility: 'hidden', // Hide it so the position change isn't visible
position: 'static'
});
// Get the static position
var end = el.position();
// Turn it back to absolute
el.css({
visibility: 'visible', // Show it
position: 'absolute'
}).animate({ // Animate to the static position
top: end.top,
left: end.left
}, function() { // Make it static
$(this).css('position', 'static');
});
});
Это немного взломано, но должно работать.
№
Однако вы можете проверить текущее местоположение элемента (вызов .position ()
), установить положение
на относительно
и анимировать из исходного местоположения. к текущему.
Не думаю, что вы сможете это сделать. jQuery aimate работает только на любом "числовом свойстве CSS".