jquery 의.animate()함수 가 IE6 에서 의 문 제 를 해결 합 니 다.

2134 단어 animateIE6
프로젝트 에서 왼쪽 메뉴 를 접 고 표시 하 는 효 과 를 실현 합 니 다.이것 은 소프트웨어 인터페이스 에서 흔히 볼 수 있 습 니 다.저 는.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 가 있 는 줄 알 았 습 니 다.

좋은 웹페이지 즐겨찾기