我有 3 个 div,最初的宽度都是 33.333%。单击一个 div 时,我希望该 div 展开到 80%,而其他两个未选中的 div 折叠到 10%。我也希望这个过程是动画的。当我尝试时,最右边的列被向下推到页面下,直到动画完成。我怎样才能使这个过程流利?
HTML:
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<title>
</title>
</head>
<body>
<div class="column" id="column1">
1
</div>
<div class="column" id="column2">
2
</div>
<div class="column" id="column3">
3
</div>
</body>
</html>
CSS:
body {
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
margin-left: 0px
}
.column {
height:100%;
float:left;
}
#column1{
width:33.33333%;
background:red;
}
#column2{
width:33.33333%;
background:white;
}
#column3{
width:33.33333%;
background:blue;
}
JS:
$(document).ready(function(){
$("#column1").click(function(){
$("#column1").animate({width:"80%"},{duration:1500,queue:false});
$("#column2").animate({width:"10%"},{duration:1500,queue:false});
$("#column3").animate({width:"10%"}, {duration:1500,queue:false});
});
$("#column2").click(function(){
$("#column1").animate({width:"10%"},{duration:1500,queue:false});
$("#column2").animate({width:"80%"},{duration:1500,queue:false});
$("#column3").animate({width:"10%"}, {duration:1500,queue:false});
});
$("#column3").click(function(){
$("#column1").animate({width:"10%"},{duration:1500,queue:false});
$("#column2").animate({width:"10%"},{duration:1500,queue:false});
$("#column3").animate({width:"80%"}, {duration:1500,queue:false});
});
});