jQuery: я могу анимировать position:absolute к position:relative?

у меня есть набор изображений, которые расположены абсолютно, я хочу быть в состоянии нажать кнопку и иметь их всех, анимируют туда, где они обычно были бы на странице, если бы у них было положение: родственник.

таким образом, даже возможно анимировать от position:absolute до position:relative в jQuery?

это - то, что я имею:

$(".change_layout").click(function(){

    $(".book_img").animate({position:'relative', top:'0px', left:'0px'}, 1000)

})
11
задан ExodusNicholas 4 February 2010 в 20:00
поделиться

3 ответа

Нет, вы не можете анимировать его напрямую, но вы можете узнать конечную точку и анимировать положение там. Что-то вроде этого может сработать при анимации в позиции 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');
    });
});

Это немного взломано, но должно работать.

16
ответ дан 3 December 2019 в 07:37
поделиться

Однако вы можете проверить текущее местоположение элемента (вызов .position () ), установить положение на относительно и анимировать из исходного местоположения. к текущему.

0
ответ дан 3 December 2019 в 07:37
поделиться

Не думаю, что вы сможете это сделать. jQuery aimate работает только на любом "числовом свойстве CSS".

0
ответ дан 3 December 2019 в 07:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: