본문 바로가기

공부/TIL-D

deg, clientX, clientY

      if(e.clientX >= left && e.clientX <=right){
     
      const x = e.clientX - left;

      $handle.style.transform = `translate3d(${x}px,0, 0)`;
      $fill.style.width = `${(100/width) * x}%`;

      const deg = `${(360/width)*x}`

      $gradient.style.backgroundImage = `linear-gradient(${deg}deg, #f1a829, #f14429)`;
      $gradientAngle.textContent = Math.floor(deg)

x변수에 이벤트발생한친구의 clinetX에서, 좌측요소만큼 빼서 할당,

clinentX란? 메소드였네 브라우저 기준좌표

핸들이란 친구의 트랜스폼 스타일을 , translate3d = (css 함수, '이동'시킴, x,y,z) 여기선

좌우 이동만하기때문에 x값만 대입 

 

게이지는 최대 100%

fill에는 width속성이있는데, 애는 게이지바를 100를, %로 나눠서 ,현위치를 곱해서, %화 시킨다 

100/뷰포트 위치 * 고정상수값 ex, 시작점 360, 40만큼이동

100/360 * 40 = xx.xxxxx%

deg 회전각은 최대 360도,

나머지는 속성값인데, 소수점이 나와서 버림 Math.floor메소드 사

 

반응형

'공부 > TIL-D' 카테고리의 다른 글

interaction  (0) 2019.05.30
[angular] 템플릿 참조변수, 세이프 내비게이션 연산  (0) 2019.05.29
analog, dital watch  (0) 2019.05.27
stop-watch  (0) 2019.05.26
counter  (0) 2019.05.25