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

我试过jQuery的

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

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

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

jQuery尝试在动画的每一步中为该值添加一个单位。 所以,而不是99它将是99px ,当然,这不是一个有效的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 }); 

有关~~更多信息,请参阅~~

您无法为zindex设置动画。 您可以使用.css进行设置。

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