Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Git
- EC2
- Jenkins
- spring boot
- 코딩테스트
- jdbc
- TypeScript
- db
- Hibernate
- docker
- 프로그래머스
- WebHook
- 책 정리
- vagrant
- spring
- AWS
- DISTINCT
- Linux
- window
- Java
- mariadb
- Spring Legacy Project
- github
- 토비의스프링
- sample
- TLS
- SSL
- Client
- centos7
- ssh
Archives
- Today
- Total
Woopii Vyeolog
mouseover 시 slide 애니메이션을 가진 메뉴바 본문
<!DOCTYPE html>
<html leng="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>document</title>
<style>
#slide, #panel {
padding: 5px;
text-align: center;
background-color: #e5eecc;
border: solid 1px #c3c3c3;
width: 100%;
height: 100%;
}
/* #penel의 스타일의 기본이 display:none으로 되어 있다. */
#panel {
padding: 50px;
display: none;
background-color: #ffff00;
}
</style>
</head>
<body>
<!-- 메뉴바를 두 부분으로 나누고 마우스를 올릴곳과 나타날 곳을 만들고 이 둘을 묶을 div를 만든다. -->
<div id="menu" style="margin-top: 300px;">
<!-- 마우스가 올라가는 부분 -->
<div id="slide">메뉴바</div>
<!-- 처음엔 안보였다 나중에 보이는 부분 -->
<div id="panel">메뉴바 안의 내용을 넣습니다.<br></div>
</div>
<!-- 제이쿼리 가져옴 -->
<script src="https://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(document).ready(function() {
// timer변수를 만들어 약간의 딜레이를 줄건데 딜레이가 없으면 마우스가 지나갈 때마다
// 메뉴바가 나오고 사라지고 해서 눈에 거슬림
var timer;
$("#slide").mouseenter(function(){ //#slide에 mouseenter이벤트를 만듬
timer = setTimeout(function() { //딜레이를 설정하면서 (0.1초) 해당 시간 후에 아래와 같은 동작을 함
$("#panel").not(':animated') //에니메이션이 Queue에 쌓이는 것을 방지하기 위해서 not(':animated')설정을 해준다.
.css({color: "red"}) //css수정
.slideDown(500) //display가 none에서 block으로 바뀌면서 슬라이드 효과가 생기면서 보여지게 됨
}, 100);
})
$("#menu").mouseleave(function(){ //#menu에 mouseleave이벤트를 만듬
clearTimeout(timer); //위에서 딜레이를 설정하고 그 시간 안에 mouseleave 이벤트가 일어나면 해당 timer변수가 사라져서
$("#panel") //mouseenter이벤트 시의 동작이 일어나지 않음
.css({color: "blue"}) //css수정
.slideUp(500) //display가 none에서 block으로 바뀌면서 슬라이드 효과가 생기면서 보여지게 됨
});
});
</script>
</body>
</html>
'html,css,js' 카테고리의 다른 글
[HTML, JS] 간단하게 테스트 할 수 있는 API Client (0) | 2022.11.17 |
---|
Comments