当我遇到jQuery中的slideDown跳跃错误时,我仍然感到惊讶。读过这么多关于jQuery的文章给设计师等等。仍然无法绕过它。
在没有存储高度的情况下仍然没有简单的方法来解决这个问题吗?还有其他方法可以得到相同的结果吗?
提出了我的代码的基本示例,但我想这与任何其他错误案例相同。
答案 0 :(得分:6)
你实际上在slidetoggle
中没有提到错误,
问题在于浏览器对padding
等标记的默认margin
和p
的行为,如果它们不可见,则默认为padding
和{{ 1}}未添加,
但是一旦它们变得可见,它们就会被添加到布局中,也就是你提到跳跃的原因。
这是我为忽略这些实现错误而做的事情:
margin
以下是演示http://jsbin.com/udexix/1/
<强>更新强>
如果你想使用多个.more{
display: none;
background: #eee;
/* added to make the margin and padding instead of p */
padding: 5px;
margin-top: 5px;
}
/* removing the default margin and padding of p */
p{
margin: 0px;
padding :0px;
}
并且不想更改默认的填充和边距,你可以做的是你可以将所有p的显示样式更改为p
以下是代码:
inline-block
以下是演示2 http://jsbin.com/udexix/8/