我有两列,它们都漂浮在左边。
在左边的列中,我有一个‘触发器’来隐藏右边的列,这使得当右边的列被隐藏时,左边的列100%地展开。现在我可以让右列显示回来,但问题是右列在左列下面(当然,左列有100%的宽度),而不是像开始时那样紧挨着它。
我不是一个jQuery/JavaScript程序员,但是我认为我的jQuery代码是一个很好的方向。
这是我的HTML:
<div id="wrapper">
<div id="left-col">
<div id="trigger"><a href="#">Toggle</a></div>
<p>...</p>
</div>
<div id="right-col">Right Column</div>
<br class="clear">
</div>这是我到目前为止所拥有的jQuery:
$(function() {
$("#left-col").addClass("wide80");
$("#trigger a").click(function(){
$("#right-col").animate({width:'toggle'},350);
$("#left-col").animate({width:'100%'},350); return false
});
});如果您能给我任何帮助,我们将不胜感激。
谢谢。
发布于 2010-05-21 07:13:19
你可以试试这个--一些类似的东西应该是有效的
$(function() {
$("#left-col").addClass("wide80");
$("#trigger a").click(function(){
var leftCol = $("#left-col");
if( leftCol.data('expanded') ) {
leftCol.animate({width:'50%'},350);
leftCol.data( 'expanded', false );
} else {
leftCol.animate({width:'100%'},350);
leftCol.data( 'expanded', true );
}
$("#right-col").animate({width:'toggle'},350);
return false;
});
});发布于 2010-05-21 23:44:08
最终的工作代码,感谢Kerry:
$(function() {
$("#left-col").addClass("wide");
$("#trigger a").click(function(){
var leftCol = $("#left-col");
if( leftCol.data('expanded') ) {
leftCol.animate({width:'60%'},350);
leftCol.data( 'expanded', false );
$("#right-col").toggle(350);
} else {
leftCol.animate({width:'100%'},350);
leftCol.data( 'expanded', true );
$("#right-col").hide();
}
return false;
});
});https://stackoverflow.com/questions/2878482
复制相似问题