codestates / codestates/WeaDresser

[Dev Log] 2021-12-01(수) / 이윤환

Open
#69 0 comments 0 reactions 0 assignees View on GitHub
Dev-Log
Dominant language
JavaScript
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

---
name: Dev Log
about: 개발 일지
title: ''
labels: ''
assignees: ''

---

### 오늘은 어떻게 프로젝트에 기여했나요?

- OotdList masonry 반응형 구현
- OotdList의 이미지 클릭시 이미지 모달창 구현
- 기타등등

### 오늘의 프로젝트에서 힘든 점은 무엇인가요?

- css에서 애를 먹었다.
![끼에엑](https://user-images.githubusercontent.com/75051059/144250643-76816b29-ccd7-4eb9-8d0b-f7f8328ec717.png)
위 이미지를 보면 아래에 작은 공간이 있는걸 볼 수 있다.
저 부분을 없애기 위해 20 ~ 30 분 가량 애를 썼는데 방법은 너무 간단해서 허무했다.
초반에 img 태그에 margin: 0 ; padding: 0을 적용 한채로 했는데에도 사라지지 않았었는데
설마 inline-block 태그의 한계인가 싶어서 display block을 적용하니 사라졌다.
아마 내가 제대로 공부하지 않은 것 같다.

- 이미지를 클릭하면 해당 이미지의 원본 이미지가 모달처럼 뜨는 기능을 구현해야 됐다.
근데 내가 이미지에 hover를 하면 아래와 같은 디자인을 적용해야 됐다.
하지만 hover를 하고 저렇게 background 가 적용된 div가 나타나게 만들면 event.target에서 이미지가 아닌 hover를 적용한 div가 나타나게 되어 이미지의 src값을 못받아온다.
![1](https://user-images.githubusercontent.com/75051059/144252370-e2bed46b-35b2-471d-90f6-b17399d04315.png)
![2](https://user-images.githubusercontent.com/75051059/144252405-5fda2f0a-4c3f-4f51-8c22-8034cccdba5c.png)

onClick이 아닌 모든 이미지에 addEventListener를 적용하여 해결했다.

```
useEffect(() => { // 현재 이미지를 링크로 불러오는데 아무래도 속도가 느려 clickedImage라는 변수값이 undefind 가 뜰때가 있는데 그걸 방지하기 위해 넣어놨다.
const clickedImage = document.querySelectorAll('.ootdImageBox'); // 이미지를 감싸고 있는 컨테이너
for(let i = 0; i < arr.length; i++){
clickedImage[i].addEventListener('click', function(){
setModalImage(clickedImage[i].children[0].children[0].src)
})
}
}, [])

```
근데 다시 생각해보니 이전 형제 태그를 선택하게 해주는 previousSibling 를 사용하면 되지 않았을까 싶다.
그래서
```
const clickedImage = (e) => {
console.log(e.target.previousSibling.src)
if(!e.target.previousSibling.src){
return false
}
setModalImage(e.target.previousSibling.src)
}
```
적용해 봤더니 된다.
허무하지만 기분이 좋기도 하고 좀 오묘한기분이다.

### 내일은 프로젝트에 기여하기 위해 무엇을 해야 하나요?

- [x] OotdList 연결 전 까지 완료
- [x] Sidebar 구현
- [x] previousSibling으로 이미지 모달창 구현 해보기

Contributor guide

No contributing guide indexed for this repository

Research direction

This issue is a development log describing completed OotdList responsive masonry and image-modal work. It names no source files or tests and does not request a remaining change, so there is no actionable entry point or verifiable definition of done for a newcomer.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
documentation
Issue type
Documentation
Difficulty
1/5
Estimated time
Under an hour
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
10/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.