首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQuery .slideDown()正在向上滑动

问JQuery .slideDown()正在向上滑动
EN

Stack Overflow用户
提问于 2012-02-11 00:30:04
回答 3查看 3.6K关注 0票数 5

这是有效的,但我不确定为什么。在function capIn()中,在我看来,$botcap.slideDown("slow")这一行应该向下滑动div。它把它往上滑。如果我尝试使用.slideUp(),就好像它试图向下滑动一样,什么也没有发生。有人能给我解释一下吗?

代码语言:javascript
复制
$(".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");
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-11 00:36:13

jQuery的slideDown和slideUp函数实际上用词不当。正如slideUp的文档所说:

通过滑动运动隐藏匹配的元素。

隐藏是通过修改元素的高度来实现的;通常,这意味着元素的下边缘看起来向上滑动,因此得名。但是,如果元素锚定在底部(例如,通过设置position: absolute和bottom: 0),则高度修改将使顶部边缘看起来向下滑动。

票数 9
EN

Stack Overflow用户

发布于 2012-02-11 00:49:27

一种可能的解决方法是用容器包装$('.botcap')元素,并将容器与底部对齐。

票数 0
EN

Stack Overflow用户

发布于 2013-06-04 11:16:20

这是因为使用绝对位置和bottom: 0来定位元素;这实际上会将元素视为基于底部的元素,因此它的slideDown()向上。它可以通过使用top:(元素高度)而不是bottom: 0来修复。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9231172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档