Javascript 为什么我无法使用jquery设置div的z索引?
我已经创建了一个示例Javascript 为什么我无法使用jquery设置div的z索引?,javascript,jquery,html,Javascript,Jquery,Html,我已经创建了一个示例 这里有三个div。现在,我想做的是:点击任何一个div,它应该出现在其他div的顶部,然后淡入淡出,然后回到原来的位置。这就是我正在使用的: $(".box").click( function () { var zindex = $(this).css('z-index'); /* this too is not working $(this).css('z-index',14); $(this).fadeTo ( 'slow',
这里有三个div。现在,我想做的是:点击任何一个div,它应该出现在其他div的顶部,然后淡入淡出,然后回到原来的位置。这就是我正在使用的:
$(".box").click( function () {
var zindex = $(this).css('z-index');
/* this too is not working
$(this).css('z-index',14);
$(this).fadeTo ( 'slow', 0.5 ).fadeTo('slow', 1 )
$(this).css('z-index',zindex);
*/
$(this).css('z-index',14).fadeTo ( 'slow', 0.5 ).fadeTo('slow', 1 ).css('z-index',zindex);
} );
提供
$(this).css('z-index',14)
仅此一项就能够使div超越其他div 将代码更改为:
$(".box").click( function () {
var zindex = $(this).css('z-index');
$(this).css('z-index',14).fadeTo ( 'slow', 0.5 ).fadeTo('slow', 1, function(){
$(this).css('z-index',zindex);
});
});
您不能在fadeTo()
之后链接.css()
方法,因为那些fx
函数异步运行,因此,.css()
立即执行
这就是为什么所有的fx
方法都会提供在完成时触发的回调
请参见操作中的内容:使用回调
$(this).css('z-index',14)
.fadeTo('slow', 0.5 )
.fadeTo('slow', 1, function(){
$(this).css('z-index',zindex);
});
在中,它将在动画结束时运行
.设置背景:“白色”;我要澄清的是,你正在设置项目的z指数,只是你将其设置为14,然后几乎立即恢复到原来的水平。jAndy所做的是使用
fadeTo()
callback参数来确保在将z索引设置回原始值之前动画已经完成。