이웃집 사는 몽씨 (43)

반응형



[tinypng/optimizilla] png 파일 용량 줄여주는 사이트


이미지 작업을 하고 사이트에 업로드를 하는 경우, png 용량 크기가 생각보다 커서 업로드를 하지 못하는 경우가 생기고는 합니다. 

그럴 때 포토샵으로 용량을 줄이는 방법보다 더 손쉽게 png 파일의 용량을 줄일 수 있는 방법이 있는데 

바로 png 파일 용량을 줄여주는 사이트를 이용하는 것이죠. 


제가 소개해드릴 사이트는 총 두 곳인데 다른 사이트들을 살펴보니 

이 두 곳이 가장 잘 알려진 대표적인 사이트같습니다. 




1. tinypng (https://tinypng.com/)



대나무 잎사귀를 먹고 있는 팬더 캐릭터가 반겨주는 tinypng 사이트입니다. 

png용량을 줄여준다라는 점에서는 optimizilla와 다르지는 않지만 

포토샵 플러그인CC 2017의 최신버전과 완벽하게 호환된다는 점과 

워드프레스의 플러그인으로도 활용이 가능하다는 특징이 있습니다. 

(워드프레스 플러그인에서 무료계정을 사용하면 매달 약 100개의 이미지를 최적화할 수 있다고 하네요.)





2. optimizilla (http://optimizilla.com/ko/)


심플한 공룡캐릭터와 함께 깔끔한 느낌을 주는 optimizilla 사이트입니다. 

용량을 줄이는데에 중점을 둔 tinypng와 다른 점이 있다면 이미지의 해상도를 조절할 수 있다는 점인데요, 

육안으로 원본과 해상도 비교 확인이 가능하며 혹시라도 용량이 덜 줄어들었다하는 부분을 

해상도를 줄임으로써 용량을 더 줄일 수 있다는 장점이 있죠.



 소개해드린 두 사이트는 최대 20개의 이미지 용량을 줄여줄 수 있고 png는 물론 jpg의 용량까지도 줄여주면서 

이미지의 품질을 최대한 오리지널에 가깝게 만들어주는 특징이 있습니다. 

용량을 줄여주는 진행상황을 막대그래프로 보여주기 때문에 진행상황을 체크할 수 있어 편리하죠. 

단순히 png를 줄이기 위해서 쓰셔도 좋고 포토샵이 없을때, png 또는 jpg의 용량을 편하게 줄이고 싶을때 쓰셔도 좋습니다. 

이렇게 편하게 png 용량 줄일 수 있는 사이트가 두군데나 있다는게 얼마나 감사한지. 

덕분에 저도 자주자주 이용하고 있습니다. 가장 중요한 사실은 이 두 사이트 전부 무료라는 거니까요. 

반응형
반응형


[animate/waypoints] 스크롤에 반응하는 스크롤 애니메이션


이번에 소개할 제이쿼리 플러그인은, css만으로 애니메이션 효과를 쉽게 구현할 수 있는 animate 제이쿼리 플러그인과 

크롤을 하면 지정한 위치 영역에 이벤트를 발생시키는 waypoints 제이쿼리 플러그인 이렇게 두가지 입니다. 


waypoints 같은 경우는 앞글, 카운트업(보러가기)의 스크립트 설명 때에 잠시 나왔었는데, 

스크롤에 맞춰 이벤트가 실행되기 때문에 스크롤이 느리게, 혹은 빠르게 내려간다하더라도 

이벤트가 늦게 나오거나 이벤트가 (이미 실행된 뒤이기 때문에 멈춰보이거나 하는 일들이 현저히 줄어들게 됩니다. 

게다가 이미지들이 살아있는 것처럼 움직여주는 animate를 함께 쓰게 되면 웹페이지를 보다 생동감있게 표현할 수 있게 되는거죠.


https://github.com/daneden/animate.css

https://github.com/imakewebthings/waypoints



위 URL로 들어가시면 플러그인을 받을 수 있는 github 다운로드 페이지가 뜹니다. 페이지에서 해당 파일을 다운받아주세요. 

페이지가 열리지 않는다면 여기서 다운받아주세요.


waypoints-master.zip

animate.css-master.zip



waypoints는 lib 폴더 안에 jquery.waypoints.min.js를 가져와주시고 animate는 animate.min.css를 가져와주시면 됩니다. 

각각 받은 파일을 폴더에 넣고 아래 스크립트를 </head> 안의 ctrl+c, ctrl+v 해주세요.



<link rel="stylesheet" href="animate.min.css">
<script src="jquery.waypoints.min.js"></script>

그리고 애니메이션이 들어가야할 영역에 class를 animated라고 표기해주세요.


<div id="blue"> ... </div>
<div id="red" class="animated"> ... </div>
<div id="yellow"> ... </div>

다음은 waypoints를 실행시키기 위한 기본 문법 스크립트입니다.


$(document).ready(function(){
  $('#red').css('opacity', 0);
 
  $('#red').waypoint(function() {
      $('#red').addClass('원하는 애니메이션효과');
  }, { offset: '50%' });
 
});



 원하는 애니메이션 효과라고 써놓은 부분은 

https://daneden.github.io/animate.css/에 들어가셔서 

원하시는 애니메이션 효과를 골라 적용하시면 됩니다. 


 offset 값은 애니메이션이 나타나는 지점을 결정하는 값으로 50%정도로 적용시켜놓으면 

애니메이션이 나와야하는 영역의 맨 앞이 보이는 화면의 50% 스크롤이 이동되고 나서야 이벤트가 적용됩니다.  

예시 페이지는 아래를 참고해주세요.




참조사이트 :  https://spin.atomicobject.com/2015/05/31/scroll-anmiation-css-waypoints/




해당 소스로 진행했을 때, 내용이 전혀 먹히지 않는다는 문의가 있었습니다.

이 글을 올렸을 당시가 2017년도로 당시 animate.css버전이 3.5.2였는데,

현재는 4.1.1로 업그레이드도 된 데다가 classname이 변경된 사항을 뒤늦게 확인하였습니다.


변경 전 : class="animated" 
변경 후 : class="animate__animated"

변경 전 : fadeInLeft
변경 후 : animate__fadeInLeft


아래는 현재 버전으로 수정된 소스이며,

상세 내용은 https://animate.style/ 사이트에서 확인 부탁드립니다.





반응형
반응형



[Counter-Up] 지정된 숫자까지 카운트업, 숫자애니메이션


지정된 숫자까지 카운트업을 시켜주는 제이쿼리 플러그인입니다. 


다른 카운트업 플러그인은 적용시켰을 때 하단에 있다하더라도 메인화면이 뜨자마자 실행이 되어버려서 

스크롤을 내려 하단에 갔을 때는 이미 실행된 뒤라 애니메이션 효과를 기대하기가 힘들었는데, 

이 플러그인은 지정된 숫자까지 타이머처럼 숫자가 휘리릭 돌아가는 애니메이션 효과와 더불어 

화면에 숫자가 드러나야만 실행이 된다는 장점이 있습니다. 

하단에 적용했다하더라도 스크롤이 하단으로 내려가서 화면에 숫자가 나타나야지만 실행이 된다는 거죠. 



https://github.com/bfintal/Counter-Up



위 URL로 들어가시면 플러그인을 받을 수 있는 github 다운로드 페이지가 뜹니다. 페이지에서 해당 파일을 다운받아주세요. 

다운로드 페이지가 열리지 않는다면 다운로드할 수 있는 파일을 올려둘테니 여기서 다운로드 받아주시면 됩니다.


Counter-Up-master.zip



<script src="http://cdnjs.cloudflare.com/ajax/libs/waypoints/2.0.3/waypoints.min.js"></script>
<script src="jquery.counterup.min.js"></script>


waypoint는 스크롤 할 때 해당 위치서 실행시킬 수 있도록 구현해주는 스크립트입니다. 

전부 ctrl+c, ctrl+v해서 </head> 안이나 </body> 안에 넣어주세요. 

html 안에는 숫자를 넣어야할 곳에 class를 "counter"라고 넣어주시면 됩니다. 



<span class="counter">1,234,567.00</span>
<span>$</span><span class="counter">1.99</span>
<span class="counter">12345</span>

그 다음, 아래의 스크립트도 ctrl+c, ctrl+v해서 같이 넣어주시면 됩니다.



$('.counter').counterUp({
    delay: 10,
    time: 1000
});

 

delay는 숫자당 돌아가는 속도를 지연시켜주는 요소이며  숫자가 높으면 높을 수록 숫자가 돌아가는 속도가 느려집니다.  
time은 카운트업 해주는 애니메이션의 전체 지속시간으로 1000일 경우, 1초를 의미합니다. 
이 부분을 생각하고 설정하게 되면 원하는 속도로 숫자가 돌아가게 되죠.


데모 페이지 들어가보기


내용을 정리해두긴 했지만 해당 페이지에 다 나와있는 내용을 고스란히 가져온거라 

보시고서 응용적인 부분에서는 이해가 가지 않는 부분이 있을 수도 있습니다. 해당 부분은 github에서 참고 부탁드립니다.



반응형