๐Ÿ‘ป [WHYGRAM] | [JS] | ๐ŸŽฎํŒ”๋กœ์šฐ๊ธฐ๋Šฅ ์ด๋ชจ๋””์ฝ˜์ด ์•ˆ ๋ฐ”๋€๋‹ค

0

๐Ÿ‘ป WHYGRAMย 

๋ชฉ๋ก ๋ณด๊ธฐ
6/16
post-thumbnail

๐Ÿ”น ์—๋Ÿฌ

  • ํŒ”๋กœ์šฐ ์ด๋ชจ๋””์ฝ˜์ด ๋ฐ”๋€Œ์ง€ ์•Š์Œ

๐Ÿ”น ์›์ธ

  • <th:block th:if="${profile.isYourFollower eq 1}"> ์ด ๋ถ€๋ถ„์ด
  • ์„œ๋ฒ„์—์„œ ๋ฐ”๋€ profile์ด ์˜ค์ง€ ์•Š์œผ๋‹ˆ๊นŒ
  • ์ด ์•ˆ์— ์„ค์ •ํ•ด๋†“์€
    btn <div>์™€ <i>๊ฐ€ ๋ฐ”๋€Œ์ง€ ์•Š๋Š”๋‹ค.
  • ๊ทธ๋ž˜์„œ ํด๋ฆญํ•œ ์ˆœ๊ฐ„๋งŒ ๋ฐ”๋€Œ๊ณ  ๋‹ค์‹œ ๋Œ์•„์˜ค๋Š” ๊ฒƒ์ด๋‹ค.

๐Ÿ”น ํ•ด๊ฒฐ

  • ์„œ๋ฒ„์—์„œ ๋ฐ›์•„์˜จ ๊ฐ’์„ btn <div>์™€ <i>์— ๋„ฃ์–ด๋†“์œผ๋ฉด ํด๋ฆญํ•˜๋ฉด ์•„์˜ˆ ๋ฐ”๋€” ๊ฒƒ ๊ฐ™๋‹ค
  • ๊ทธ๋ฆฌ๊ณ  js ์—์„œ btn <div>์™€ <i>๋ฅผ ์•„์˜ˆ ์ง€์›Œ๋ฒ„๋ฆฌ๊ณ  ์ƒˆ๋กœ ๋งŒ๋“ค์–ด์•ผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค ๐Ÿ‘‰ containerFollow<div>

โœ… ๋กœ์ง

UserDomain

private String datasetFollow;
private String followIcon;

UserService

UserDomain profile;

if (isMyFollower == 1) {
   if (isYourFollower == 1) {
      profile.setDatasetFollow("unfollow2");
      profile.setFollowIcon("follow-icon bi bi-person-check-fill");
   } else {
      profile.setDatasetFollow("follow2");
      profile.setFollowIcon("follow-icon bi bi-person-fill"); 
   }
} else {
   if (isYourFollower == 1) {
      profile.setDatasetFollow("unfollow1");
      profile.setFollowIcon("follow-icon bi bi-person-check");
   } else {
      profile.setDatasetFollow("follow1");
      profile.setFollowIcon("follow-icon bi bi-person"); 
   }
}

๐Ÿ”น ์—๋Ÿฌ

  • ์ ์šฉํ•˜๋‹ˆ๊นŒ ์•„์˜ˆ click() over() out() proc() ์ž‘๋™์•ˆํ•จ
      btnFollowElem.remove();
      btnFollowElem = document.createElement("div");
      btnFollowElem.id = 'btnFollow';
      btnFollowElem.className = 'pointer';
      followClick(follow);
      followContainerElem.append(btnFollowElem);
      events();

๐Ÿ”น ํ•ด๊ฒฐ

  • btnFollow <div>์„ ์ง€์šฐ๊ณ  ์ด๊ฑฐ๋ž‘ follow icon <i>๋ฅผ ์ƒˆ๋กœ ๋งŒ๋“ค๊ณ 
  • followContainer <div> ์— appendํ•˜๊ณ 
  • addEventListener์„ ๋‹ค์‹œ ํ•ด์ค˜์•ผ ํ•œ๋‹ค.
profile
๋ช‡ ๋ฒˆ์„ ๋„˜์–ด์ ธ๋„ ์•ž์œผ๋กœ ๊ณ„์† ๋‚˜์•„๊ฐ€์ž

0๊ฐœ์˜ ๋Œ“๊ธ€