jQuery的$('#divOne').animate({zIndex:-1000},2000)不起作用?

nop*_*ole 10 jquery z-index jquery-animate

我试过jQuery的

$('#divOne').animate({zIndex: -1000}, 2000)
Run Code Online (Sandbox Code Playgroud)

对于那个z-index为1000的元素,它仍然高于其他元素?

(如果我使用firebug将其更改为-1000那么它将低于其他元素)

Jam*_*mes 37

jQuery尝试在动画的每一步中为值添加一个单位.所以,而不是9999px当然不是一个有效的zIndex价值.

似乎不可能将jQuery使用的单位设置为一个空白字符串 - 它要么采用您包含在值中的单位(例如20%- 百分比单位),要么将使用px.

幸运的是,你可以破解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
});
Run Code Online (Sandbox Code Playgroud)

有关详细信息,~~请参阅此内容.

  • 得到这个+1只是为了关于~~的信息! (2认同)