在項目裡面實現左的菜單折疊顯示的效果,這個在軟件界面裡是常見的(本來到網上copy一段代碼也就了事了,估計寫的比我都好,但學習嘛,就要有學習的精神^^!),
我是用.animate()去實現隱藏展開的,代碼如下:
代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
<style>
<!--
.left {
width:100px;
height:500px;
background:#060;
float:left;
}
#butid {
width:10px;
height:500px;
background:#C00;
float: left;
}
.content {
width:500px;
height:500px;
background:#000;
float:left;
color: #FFF
}
-->
</style>
</head>
<body>
<script type="text/javascript" src="thirdparty/jquery/jquery.js"></script>
<script type="text/javascript">
$(function(){
var i = 1;//設置狀態判斷
$('#butid').click(function(){
if(i == 1){
$('.content').animate({left: '-=100px',width: '600px'}, "slow");
$('.left').animate({width: '0px'}, "slow");
i = 2;
}else{
$('.content').animate({left: '0px',width: '500px'}, "slow");
$('.left').animate({width: '100px'}, "slow");//fadeOut()
i = 1;
}
});
});
</script>
<div class="left">123</div>
<div id="butid"></div>
<div class="content">123</div>
</body>
</html>
如果這樣子的話,在FF,IE7-8,chrome下執行是正常的。可是IE6下無法隱藏left,原因是因為ie6默認內容高寬度超出時,DIV會自動撐開。所以只要給.left{}加個overflow:hidden,問題也就解決~~
PS:本來早上是寫個函數把.left裡面的內容隱藏掉的,在寫博文的時候突然想通了這個原理,還以為是.animate()在IE6下有BUG