0

这是我无法弄清楚的事情。

这是一个简单的例子: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。仅此一项就产生了这种奇怪的效果。

我在这里想念什么?

4

1 回答 1

-1

我已经更新了你的小提琴,我想这就是你要找的东西,我margin-top:30pxa标签做了http://jsfiddle.net/MrkMZ/1/

于 2013-03-12T12:07:30.323 回答