【发布时间】:2012-07-15 02:01:44
【问题描述】:
我有一个根据某些条件显示或隐藏的元素。 我使用 jQuery fadeIn() 和 fadeOut() 动画来隐藏或显示元素。
我的问题是该元素的位置在淡出/淡入序列之后突然改变。但是我在计算的样式规则中找不到任何区别。既不是元素本身,也不是嵌入的 div 标签。 序列后有什么变化?
我做了一个简短的测试用例: http://jsfiddle.net/2QVX8/14/
注意表格下方的三角形指向下方,它居中。当您单击“切换”按钮两次时,将运行淡出/淡入序列。之后,元素不再居中,而是位于最左边。
下面是测试用例的代码:
HTML:
<button id='toggle'>Toggle</button>
<p/>
<div>
<table id="list">
<tbody>
<tr><td>1-1</td><td>1-2</td></tr>
<tr><td>2-1</td><td>2-2</td></tr>
<tr><td>3-1</td><td>3-2</td></tr>
</tbody>
</table>
<div id="footer">
<span>▾</span>
</div>
</div>
CSS:
table{
width: 100%;
border: 1px solid black;
}
table tr td{
text-align: center;
}
#footer{
position: absolute;
}
JS/jQuery:
$('#toggle').bind('click',function(){
if ($('#footer span').is(':visible'))
$('#footer span').fadeOut('fast');
else $('#footer span').fadeIn('fast');
})
【问题讨论】:
-
什么是:
<p>没有关闭!什么是:</tr></tr>? -
对不起,我的错,太着急了。我纠正了这些故障,它们与原始问题无关。谢谢!
-
没问题。我只用了一点 CSS 就解决了你的问题。