在項目里面實現左的菜單折疊顯示的效果,這個在軟件界面里是常見的(本來到網上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下執行是正常的??墒荌E6下無法隱藏left,原因是因為ie6默認內容高寬度超出時,DIV會自動撐開。所以只要給.left{}加個overflow:hidden,問題也就解決~~
PS:本來早上是寫個函數把.left里面的內容隱藏掉的,在寫博文的時候突然想通了這個原理,還以為是.animate()在IE6下有BUG
新聞熱點
疑難解答
圖片精選