$ jQuery ('#divOne') .animate ({zIndex:-1000}, 2000), не работает?

Я попробовал jQuery

$('#divOne').animate({zIndex: -1000}, 2000)

к тому элементу, который имеет z-индекс 1 000, но это все еще выше других элементов?

(Если я использую поджигателя для изменения его на -1000 затем это будет ниже других элементов),

10
задан nopole 26 June 2010 в 06:12
поделиться

2 ответа

jQuery пытается добавить единицу к значению на каждом этапе анимации. Таким образом, вместо 99 будет 99px , что, конечно, не является допустимым значением zIndex .

Невозможно установить для единицы измерения, используемой jQuery, просто пустую строку - она ​​либо возьмет ту единицу, которую вы включаете в значение (например, 20% - процентная единица), либо будет использоваться пикселей .

К счастью, вы можете взломать animate () , чтобы эта работа работала:

var div = $('#divOne');

$({
    z: ~~div.css('zIndex')
    // ~~ to get an integer, even from non-numerical values like "auto"
}).animate({
    z: -1000
}, {
    step: function() {
        div.css('zIndex', ~~this.z);
    },
    duration: 2000
});

Для получения дополнительной информации о ~~ см. this .

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

Вы не можете анимировать zindex. Вы можете установить его с помощью .css.

$("#divOne").css('z-index' , '-1000');

-2
ответ дан 3 December 2019 в 14:17
поделиться
Другие вопросы по тегам:

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