-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ 2주차 기본/심화/생각 과제 ] 웨비의 사진관과 가계부 #4
base: main
Are you sure you want to change the base?
Conversation
href="#body-title" 로 가는걸로 대체
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🌟시험기간인데 꼼꼼하게 너무 수고 많았어!!
Session02 /gallery/index.js
Outdated
@@ -0,0 +1,37 @@ | |||
//1-a,b | |||
var images = document.querySelectorAll('.images-1'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
var
의 특징 :
- 재선언이 된다 -> 코드량이 많아질 때 어떻게 사용될지 파악하기 힘들다
- 호이스팅 -> var로 선언된 변수는 선언 단계와 초기화 단계가 한번에 이루어진다.
그래서 이제 내가 읽은 아티클에 의하면 기본적으로const
를 사용하고, 재할당이 필요한 경우에 한정해let
을 사용하는 것이 좋대!
Session02 /gallery/index.js
Outdated
|
||
images.forEach(function(details) { | ||
details.addEventListener('mouseover', function() { | ||
var content = details.querySelector('div'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아하! details와 show-desciption의 차이가 배경색이라면
image.style.filter = "brightness(50%)";
이렇게도 더 간편하게 구현 할 수 있어! 근데 찾아보니 이와 같은 방식은 js로 스타일을 변경할 떄 마다 렌더링 엔진이 다시 계산해야돼서 성능 최적화에 많은 주의가 필요하다네..!
민영이가 구현한 방법은 이제 정적으로 add와 remove를 이용해 스타일을 정의한 방법 같은데 이럴 떈 동적 스타일 변경이 필요한 경우에는 한계가 있을 수 있으니 참고.. 저도 배워갑니당 ❤️
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
미뇽이 코드를 보면서 나도 배울 수 있는 좋은 기회였도다 🌟🌟
Session02 /account/account.html
Outdated
</footer> | ||
</body> | ||
|
||
<section class="list-delete-modal"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
섹션안에 섹션 구조로 구현한 것은 이제 모달창 팝업을 구현하기 위해서인가?!
간단한 구현을 위해선 display: none; 속성만 추가하는 방법도 있습니당!
Session02 /account/account.js
Outdated
el.price > 0 ? (plus += el.price) : (minus -= el.price); | ||
}); | ||
|
||
const summary_element_H3 = document.createElement("h3"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아 미뇽이 코드보고 내 코드 리팩토링 할 점 찾았다..
innerHTML을 사용해서 깔끔하고 간편하게 요소를 추가했는데 찾아보니 innerHTML은 DOM을 직접적으로 수정 (Modify)하기 때문에, innerHTML이 실행될 때마다 모든 DOM 요소가 전부 재분석 (reparse)되고 재생성 (recreate)되는 치명적 단점이..!!!
Session02 /account/account.js
Outdated
|
||
//2.5 리스트 추가 | ||
function handleAddFilter(idx) { | ||
const filter_button = document.querySelectorAll(".add_filter_btn>button"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
하위선택자기호 >
까지 야무지게 써줬도다..!!
Session02 /account/account.js
Outdated
function handleAddSheet() { | ||
let selected_idx = 0; //0:수입 1:지출 | ||
const addList = document.querySelectorAll(".add_list")[0]; | ||
addList.innerHTML = ` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
난 이 부분 같은 경우 index.html에 모달창을 만들어서 display:none;
처리를 해줬어!! 그럼 좀 더 가독성이 좋아질지도..!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1주차 코드리뷰도 전부 반영하고 2주차 과제도 세미나 때 배웠던 선택자나 삼항연산자도 적극적으로 활용하고 심화 과제도 도전한 게 보여서 넘 좋았어요! 시험 기간인데 정말 고생 많았어요!!❤️🔥
|
||
<section class="manage"> | ||
<nav class="manage-date"> | ||
<button>〈</button> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
요거 참고하면 좋을 것 같아! 나도 저번에 코드리뷰 받고 부등호 수정했다ㅎㅎ
HTML 특수문자 리스트
<nav class="manage-date"> | ||
<button>〈</button> | ||
<p>10월 13일</p> | ||
<button>〉</button> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
버튼은 버튼 타입 명시해주기! 안 그러면 기본적으로 submit 타입으로 지정된다고 해요
button 타입 잊지 않기
MDN - button
|
||
<section class="list-delete-modal"> | ||
<section class="modal"> | ||
<p>정말 삭제하시겠습니까?</p> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
삭제 모달도 구현했네요! 최고👍🏻
@@ -0,0 +1,263 @@ | |||
const INIT_BALANCE = 0; | |||
const HISTORY_LIST = [ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
상수 파일을 따로 빼서 쓰면 더 가독성이 좋을 것 같아요!
const plusBtn = document.createElement("i"); | ||
plusBtn.textContent = "+"; | ||
const plusSpan = document.createElement("span"); | ||
plusSpan.textContent = plus.toLocaleString(); | ||
plusSpan.className = "plus"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
클래스네임으로 이렇게 구현하는 방법도 있군요👍 다른 방법도 슬쩍 소개해보자면 상수 폴더에 지출인지 수입인지 분류한 다음 부호를 붙여주는 방법도 가능해요~!
@@ -0,0 +1,38 @@ | |||
export const SUMMARY =[ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
상수 파일로 뺀 거 좋아요ㅎㅎ
<h4 id="category-1">뉴욕은 낭만이 넘치는 도시에요</h4> | ||
<div class="images-1-container"> | ||
<div class="images-1"> | ||
<img src="wk1/02.png" alt="핑크 건물"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
alt에서 띄어쓰기는 -
으로 해주기!
띄어쓰기를 인식 못하는 검색엔진이 있다고 해요🥲
alt 작성하기
<img src="wk1/11.png" alt="무지개 베이글"/> | ||
<div class="details"> | ||
<h2>민영또베이글</h2> | ||
<p>8번가 liberty 베이글에 가서 rainbow with blueberry creamcheese를 말해보세요</p> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
맛있겠다,,
}); | ||
|
||
//2-a | ||
//새로고침하면 버튼이 보이는 경우 --> 해결 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
새로고침까지..! 섬세한 처리 좋아요👍🏻
var button = document.getElementById('button-top'); | ||
|
||
// 최대 스크롤 가능한 높이 | ||
var maxScrollHeight = document.documentElement.scrollHeight - document.documentElement.clientHeight; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
innerHeight
를 활용하면 더 간편하게 구할 수 있을 것 같아요..! 꼭 이 방법만 있는 건 아니니 참고용!
window.innerHeight 관련 설명
✨ 구현 기능 명세
🐥 웨비의 사진관 기본 과제
이미지(첫번째 섹션만 해당)
top 버튼
🐥 가계부 기본 과제
최초 데이터
상수로
INIT_BALANCE
,HISTORY_LIST
데이터INIT_BALANCE
= 0HISTORY_LIST
: 입출금 내역 리스트 (4개
)최초 실행시 위 상수 데이터들 이용해 렌더링
총수입/총지출
HISTORY_LIST
에 있는 수입 내역과 지출 내역을 계산해서 총수입, 총지출 보여줌수입/지출 필터링
리스트 삭제
X
버튼을 누르면 해당 리스트가 삭제리스트 추가
수입
지출
버튼카테고리
선택수입
을 선택하면 수입 관련 항목이지출
을 선택하면 지출 관련 항목 보여줌금액
과내용
입력 input저장하기
버튼닫기
버튼👑 가계부 심화 과제
리스트 삭제 모달
delete
버튼 클릭시 삭제 모달 나타남YES
클릭시 삭제 진행NO
클릭시 모달 사라짐금액
,
표시💎 PR Point
🐥 웨비의 사진관 기본 과제
🐥 가계부 과제
🥺 소요 시간, 어려웠던 점
매일 3시간
🌈 구현 결과물
🐥 웨비의 사진관 기본 과제
1-1.mov
1-2.mov
🐥 가계부 과제
2-3.mov
2-4.mov
2-5.mov