Notice
Recent Posts
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- css 화면이동
- 자바스크립트 링크
- javascript 자식 노드 삭제
- 다른 사이트로 연결
- css변수
- 후두골이형성증
- 매일두유
- 크리에이터링크 이미지클릭
- 강아지 발작
- 포토샵 핸드툴 단축키
- 일러스트 스페이스바 오류
- 일러스트 핸드툴 오류
- 크리에이터링크 이미지링크
- 덕수궁 석조전
- 대한제국역사관
- 포토샵 스페이스바 오류
- 당연해?왜?
- 포토샵 핸드툴 오류
- javascript 자식 노드 복사
- javascript 자식 노드 추가
- 클린 서구
- 쏜살치킨
- 크리에이터링크 상세페이지
- css사칙연산
- 당연해?뭐가?
- 셀렉트 태그 링크
- html 다운로드 버튼 만들기
- 애드센스
- 자바스크립트 타이머 만들기
- 종묘대제
Archives
- Today
- Total
열정과 게으름 사이
팝업 목록. 본문
- 클릭하면 위로 팝업 목록이 나열되었다가, 다시 클릭하면 아래로 떨어진 리스트를 만듦.
- HTML
<div class="family-site">
<button type="button">사이트
<img src="/image/arrow02.jpg" alt="열기">
</button>
<!--clear:both-->
<ul class="moving">
<li><a href="#"></a></li>
<li><a href="#"></a></li>
<li><a href="#"></a></li>
<li><a href="#"></a></li>
<li><a href="#"></a></li>
<li><a href="#"></a></li>
<li><a href="#"></a></li>
<li><a href="#"></a></li>
<li><a href="#"></a></li>
<li><a href="#"></a></li>
<li><a href="#"></a></li>
<li><a href="#"></a></li>
</ul>
</div>
- CSS
.family-site {
position: relative;
margin-top: 30px;
top: 0;
width: 100%;
height: 40px;
line-height: 30px;
}
.family-site button {
z-index: 50;
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
text-align: left;
text-indent: 10px;
border: 1px solid #222;
background-color: #fff;
}
.family-site button img {
float: right;
margin: 5px;
width: 15px;
}
.family-site button img.rotate{
-webkit-transform: rotate(-180deg);
-ms-transform: rotate(-180deg);
-moz-transform: rotate(-180deg);
-o-transform: rotate(-180deg);
transform: rotate(-180deg);
}
.family-site .moving {
overflow: hidden; //안보이는 영역을 가려두고 영역을 js로 보이는 영역을 키울 것임//
position:absolute;
left: 0;
top: 0;
width: 100%;
height: 40px;
border-top: 1px solid #222;
}
.family-site .moving li {
width: 100%;
height: 40px;
line-height: 40px;
text-indent: 10px;
}
.family-site .moving li.pop { //up 과down시에 배경색이 있고 없어서 달아줌, 같으면 굳이 클래스 필요 없음//
border-left: 1px solid #222;
border-right: 1px solid #222;
background-color: #fff;
}
.family-site .moving li:hover {
background-color: #eee;
}
- js
let pop = $('.family-site .moving');
let btn = $('.family-site button');
let li = $('.family-site .moving li');
let liH = 40;
let length = li.length+1;
let showli = 8;//보이는 것 +1인 이유는 i=0 이기 떄문;
let current = 0;
btn.click(function(){
if(current ==0){
$('.family-site button img').removeClass('rotate');
for(let i=0; i < showli; i++){//보여질 갯수가 될때까지 1씩 증가하며 높이값 키움//
pop.animate({top:(liH*i)*-1, height:liH*i},10)
.find('li').eq(i).addClass('pop');
current++;
}
}
else if(current >= showli && current < length){
current=length;
pop.find('li').removeClass('pop');
$('.family-site button img').addClass('rotate');
for(let i=0; i < length; i++){
pop.animate({top:'100%',height:liH*i},10);
current--;
if(current==length) current=0;
}
}
});
반응형
'공부 메모 > javaScript' 카테고리의 다른 글
간단한 프레시그바 (0) | 2021.01.23 |
---|---|
자바스크립트 특정 영역 외 클릭하면 닫기 (0) | 2021.01.20 |
form에서 enter키로 전송 될 때/유효성 검사 (0) | 2020.12.03 |
윤년 계산& 14세 미만 가입방지. (0) | 2020.11.28 |
페럴릭스 만들기 (0) | 2020.08.29 |
Comments