在項(xiàng)目里面實(shí)現(xiàn)左的菜單折疊顯示的效果,這個(gè)在軟件界面里是常見的(本來到網(wǎng)上copy一段代碼也就了事了,估計(jì)寫的比我都好,但學(xué)習(xí)嘛,就要有學(xué)習(xí)的精神^^!),
我是用.animate()去實(shí)現(xiàn)隱藏展開的,代碼如下:
<!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>無標(biāo)題文檔</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;//設(shè)置狀態(tài)判斷$('#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下執(zhí)行是正常的。可是IE6下無法隱藏left,原因是因?yàn)閕e6默認(rèn)內(nèi)容高寬度超出時(shí),DIV會(huì)自動(dòng)撐開。所以只要給.left{}加個(gè)overflow:hidden,問題也就解決~~
PS:本來早上是寫個(gè)函數(shù)把.left里面的內(nèi)容隱藏掉的,在寫博文的時(shí)候突然想通了這個(gè)原理,還以為是.animate()在IE6下有BUG
新聞熱點(diǎn)
疑難解答
圖片精選