1

我有一个带有 2 个内部 div(上下)的容器 div。当我单击上部时,它应该切换以取消隐藏其下方的 div。同时我想切换隐藏下部 div,以保持容器高度不变。两个 div - 我切换隐藏的一个和取消隐藏的一个 - 具有相同的度量,但效果仍然不平滑(一开始似乎有晃动)。

有什么方法可以避免这种情况,还是我需要另一种方法来达到我想要的结果?

顺便说一句:隐藏在某些元素上的溢出不适用于我想要完成的工作。

编辑:对不起,没有发布代码,因为它很简单。

$("#ct").click(function () {
  $("#subcv").slideToggle("slow", "linear");
  $("#subph").slideToggle("slow", "linear");
});

JSFIDDLE

4

1 回答 1

0

将 a 添加position:absolute;divs 和z-index:2;绿色的 ( #subcv)。然后只做绿色的一步,把红色的div静态小提琴留在这里

完整代码

html

<button id="ct">Click here</button>
<div id="subcv"></div>
<div id="subph"></div>

css

#subcv, #subph {
    height: 50px;
    width: 100px;
    position:absolute;
}
#subcv {
    background-color: green;
    display:none;
    z-index:2;
}
#subph {
    background-color: red;
}

jQuery

$("#ct").click(function () {
    $("#subcv").slideToggle("slow", "linear");
});

您的问题是divs 都在页面上,一个接一个,因此顶部的 s 将底部的 s 降低1px(如果您仅使用Toggle它将是 `50px)。抱歉,如果这部分不清楚。

于 2013-09-11T20:53:28.467 回答