我在div #frame
中有一个div #up和div #middle使用css:
#frame{
position: absolute;
left:200;
top:200;
border-style: solid;
border-width: 1px;
}
#middle{
width:200px;
height:200px;
}
#up{
position:absolute;
bottom:200;
display:none;
}
当我点击#middle时,我使用jQuery代码从下到上滑动#up:
$('#middle').click(function () {
$('#up').slideToggle();
});
这里有一个jsFiddle:http://jsfiddle.net/malamine_kebe/DCSuR/
我的问题: 当#up是slideToggling
时,我怎样才能滑动切换#frame的边框顶部答案 0 :(得分:2)
您无法使用position: absolute;
看看演示,我已将#up
的边框添加到底部的所有边,并使用#middle
bottom: 201px;
)
更新2: 我不确定您是否需要像this
这样的标签效果或者像@Danko那样link
答案 1 :(得分:1)
我只是一个CSS问题。当您使用position: absolute
时,元素可以在不更改父框架的情况下转到外部。因此,如果您更改为position: relative
,它将有效。
#up{
position:relative;
top: 0;
display:none;
}
答案 2 :(得分:1)
我想这可能是......
var i = 0;
$('#middle').click(function () {
var tp = i % 2 === 0 ? $(this).offset().top - $('#up').height() : $(this).offset().top - 2;
$('#frame').animate({
top: tp
});
$('#up').slideToggle();
i++;
});
答案 3 :(得分:-1)
检查这是否回答了您的问题。 更新JAVASCRIPT
$('#middle').click(function () {
$('#up').slideToggle(function(){
$('#frame').css("borderTop","2px solid #000");
});
});
AND UPDATE CSS
#up{
position:absolute;
bottom:200px;
display:none;
border-top: 2px solid black;
}