我创造了这个小提琴来说明我的问题:http://jsfiddle.net/AVxbd/
我有一个菜单(#container
),有一些链接(#text1
,#text2
)。我创建了一个#highlighter
元素来突出显示该人在特定时刻的页面链接。 HTML:
<div id="container">
<div id="highlighter"></div>
<div id="text1">Text 1</div><div id="text2">Text 2</div>
</div>
JavaScript:
$('#highlighter')
.offset($('#text1').offset())
.width($('#text1').width()
);
$('#text1, #text2').click(function(){
$('#highlighter').animate({
top: $(this).offset().top,
left: $(this).offset().left,
width: $(this).width() + "px"
},300);
});
问题是#highlighter
元素在上显示 #text1
和#text2
元素。那不是我想要的!
我试图用z-index解决这个问题:
#container { z-index: 1; }
#highlighter { z-index: 2; }
#text1, #text2 { z-index: 3; }
然而,这不起作用,正如你可以在小提琴中看到的那样。
我怎样才能让它发挥作用?我想让它看起来像#text1
和#text2
元素具有橙色背景,但是因为我希望荧光笔在宽度和位置上设置动画,所以我不能仅仅为这些元素赋予背景。
答案 0 :(得分:8)
答案 1 :(得分:2)
#text1, #text2 {
cursor: pointer;
display: inline-block;
font-size: 30px;
height: 50px;
line-height: 50px;
text-align: center;
z-index: 3;
*position:relative;*
}
将位置添加到此课程。如果未定义位置,则Z-index不起作用。
答案 2 :(得分:0)