这是我无法弄清楚的事情。
这是一个简单的例子:http: //jsfiddle.net/MrkMZ/
HTML:
<div id="box">
<div id="top"><a href="#">top text</a></div>
<div id="bottom"><a href="#">bottom text</a></div>
</div>
CSS:
#box {
width: 200px;
height: 200px;
background-color: yellow;
position: relative;
}
#top {
position: absolute;
top: 0;
left: 0;
width: 200px;
height: 50px;
background-color: #ff0000;
}
#top a {
margin-top: 20px;
display: inline-block;
}
#bottom {
position: absolute;
bottom: 0;
left: 0;
width: 200px;
height: 30px;
background-color: #ff0000;
}
JS:
$('#box').hover(
function(){
$(this).find('#top, #bottom').slideUp(300);
},
function(){
$(this).find('#top, #bottom').slideDown(300);
}
);
如您所见,在框悬停时,顶部和底部 div 正确滑动,但顶部和底部 div 内的文本在滑动时表现不同。顶部文本保持不变,而底部文本随着 div 向下滑动。
无论如何,即使是顶部的文字幻灯片?或者使底部文本保持不动而不是滑动。
在 slideDown/slideUp jQuery 改变元素的高度。
唯一的区别是一个有顶部:0,底部一个有底部:0。仅此一项就产生了这种奇怪的效果。
我在这里想念什么?