我使用Twitter Bootstrap和JS制作一种滑动侧边栏。当您单击"切换"时,选中的列包含" col-lg-1"扩展到" col-lg-3"和" col-lg-10"收缩到" col-lg-8" (使用jQueryUI' s switchClass()
)。对于show()
和hide()
的动画效果,我使用jQueryUI。但是在动画和列调整大小时#content
闪烁的内容(在动画结束时消失并再次显示)。
HTML是:
<div class="row">
<div class="col-lg-1" id="menu-1">
<a href="#">Toggle</a>
<ul>
<li>
...
</ul>
</div>
<div class="col-lg-1" id="menu-1">
<a href="#">Toggle</a>
<ul>
<li>
...
</ul>
</div>
<div class="col-lg-10" id="content">
<p>Some text</p>
<p>Some text</p>
<p>Some text</p>
</div>
</div>
Cleaned JS就像:
if ($col.hasClass('col-lg-3')){
// hide on second click
$col.switchClass('col-lg-3','col-lg-1');
$content.switchClass('col-lg-8', 'col-lg-10');
}else{
// open
var $sibling = $bar.siblings('.col-lg-3');
if($sibling.length == 1){
// close sibling if it's open
$sibling.switchClass('col-lg-3','col-lg-1');
}
$col.switchClass('col-lg-1','col-lg-3');
$content.switchClass('col-lg-10', 'col-lg-8');
}
你能建议修复吗?或者推荐其他解决方案?
UPD :
浏览器:Firefox 27.0.1