这行得通,但我不确定为什么。在 function capIn()
中,在我看来,行 $botcap.slideDown("slow")
应该使 div 向下滑动。它向上滑动。如果我尝试使用 .slideUp()
什么也没有发生,就好像它试图将它滑下来一样。谁能给我解释一下?
$(".slide").hover(capIn, capOut);
function capIn(){
//slide top caption down
var $topcap = $(this).children(".topcap");
$topcap.slideDown("slow");
//slide bottom caption up
//!! Why does slideDown slide caption up here?
var $botcap = $(this).children(".botcap");
$botcap.slideDown("slow")
}
function capOut(){
//slide top back up
var $topcap = $(this).children(".topcap");
$topcap.slideUp("slow");
//slide bottom back down
var $botcap = $(this).children(".botcap");
$botcap.slideUp("slow");
}
最佳答案
jQuery 的 slideDown
和 slideUp
函数实际上用词不当。正如 slideUp
的文档所说:
Hide the matched elements with a sliding motion.
隐藏是通过修改元素的高度实现的;通常,这意味着元素的下边缘似乎向上滑动,因此得名。但是,如果元素锚定在底部(例如通过设置 position: absolute
和 bottom: 0
),高度修改将使顶部边缘看起来向下滑动。
关于javascript - JQuery .slideDown() 向上滑动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9231172/