์๋ ํ์ธ์ ๊ณฐ์ด์์:)
์ค๋์ Counter.js๋ฅผ ํ์ฉํ์ฌ ํฐ์คํ ๋ฆฌ ๋ธ๋ก๊ทธ ๋ฐฉ๋ฌธ์์์ ํ์ฉํ์ฌ ๋ฉ์ง๊ฒ ๊พธ๋ฉฐ์ค ์์ ์ ๋๋ค.
counter.js๋ ์ ํด์ง ์ซ์๊น์ง ์ฆ๊ฐํ๋ ์ ๋๋ฉ์ด์ ํจ๊ณผ๋ฅผ ๋ฃ์ ์ ์๋๋ฐ์.
์์๋ฅผ ์ฌ์ง์ผ๋ก ๋ณด์ฌ ๋๋ฆฌ๊ฒ ์ต๋๋ค.
์ด๋ฐ ์์ผ๋ก ๋ง์ด์์ ใ ใ
๋ฌด์จ ๋๋์ธ์ง ๊ฐ์ด ์ค์์ฃ ??
ํ์ฌ ์ ๋ ํฐ์คํ ๋ฆฌ ๋ธ๋ก๊ทธ ๋ฐฉ๋ฌธ์ ์์ ํ์ฉ ์ค์ธ๋ฐ์ ์ด๊ฑธ ํ๋ค๊ณ ํด์ ๋ฐฉ๋ฌธ์์๊ฐ ์ค๋ฅด๊ณ ๊ทธ๋ฌ์ง ์์ต๋๋ค.
๊ทธ๋ฅ ์๊ธฐ๋ง์กฑ ๋ฐ ๋ณด๋ ์ฌ๋ฏธ ์ ๋?
์ ๋ ์์ ์ ์์ ์คํ ์์ค GitHub๋ฅผ ์ฐธ๊ณ ํ์์ต๋๋ค.
https://github.com/bfintal/Counter-Up
๋ฌผ๋ก ์ฌ๊ธฐ์๋ ์ ์ ๋ฆฌ๋์ด์์ด์ ์๊ฐ๋ณด๋ค ์ ์ฉ์ ์ด๋ ต์ง ์์๋ ๊ฑฐ ๊ฐ์์
์ ์ฌ์ดํธ๋ฅผ ๋ค์ด๊ฐ์๋ฉด
์ด๋ ๊ฒ ํ์ผ๋ค์ด ์์ต๋๋ค
๋ฐ์ ๋ ๊ฐ์ js๊ฐ ํ์ํฉ๋๋ค.
์ฒ์์ cdn๋ฅผ ์ฌ์ฉํ์ฌ js๋ฅผ include ํ๋ ค๊ณ ํ์๋๋ฐ ์๊พธ ๋ถ๋ฌ์ค์ง ๋ชปํ๋ค๊ณ .... ์คํฌ๋ฆฝํธ ์๋ฌ๊ฐ ๋๋๋ผ๊ตฌ์..
<script src="http://cdnjs.cloudflare.com/ajax/libs/waypoints/2.0.3/waypoints.min.js"></script>
<script src="jquery.counterup.min.js"></script>
์ ํ์ผ์ ์๋ ์ ๋ณด๋ก๋ ์ด๋ ๊ฒ ์ฌ์ฉํ๋ฉด ๋๋ค๊ณ ๋์ด์์ง๋ง https๊ฐ ์๋์ด์ ๊ทธ๋ฐ๊ฐ? ํ๊ณ https๋ก ๋ณ๊ฒฝ์ ํด๋ ์๋๋๋ผ๊ณ ์
๊ทธ๋์ ์ ๋ ๊ทธ๋ฅ ํฐ์คํ ๋ฆฌ์ ์ ๋ก๋ํด์ ์ฌ์ฉํ๊ธฐ๋ก ํ์ต๋๋ค.
์ฐ์ GitHub์์ ์์ ํ์ผ๋ค์ ๋ค ๋ค์ด๋ฐ์์ฃผ์๊ณ ์์ถํ์ผ์ ํ์ด์ฃผ์ธ์.
๊ท์ฐฎ์ผ์ ๋ถ๋ค์ ์ํด ํ์ผ ์ฒจ๋ถํ๋๋ก ํ๊ฒ ์ต๋๋ค.
๊ทธ๋ค์ ํฐ์คํ ๋ฆฌ ๊ด๋ฆฌ ํญ > ๊พธ๋ฏธ๊ธฐ > ์คํจ ํธ์ง ํญ์ ๋ค์ด๊ฐ ์ฃผ์ธ์.
html ํธ์ง์ ๋๋ฌ์ฃผ์ธ์.
ํ์ผ ์ ๋ก๋๋ฅผ ๋๋ฅด์๊ณ +์ถ๊ฐ ๋ฒํผ์ ๋๋ฌ ์์ ๋งํ JS 2๊ฐ๋ฅผ ์ ๋ก๋ํด์ฃผ์ธ์.
์ ๋ ์ด๋ฏธ ๋์ด์์ด์ ํ๊ธฐ๋ง ํด๋จ์ต๋๋ค.
ํฌ์คํ ์ฐ๋ฉด์ ์ ์ฌ์ค์ธ๋ฐ counterup.js๋ ์์ด๋ ๋๋ ๊ฑฐ ๊ฐ์์.
์คํจ ํธ์ง HTML์์ <head> ํ๊ทธ ์์ ์ ๋ก๋ํด๋์ ์คํฌ๋ฆฝํธ๋ฅผ ๋ถ๋ฌ์์ค๋๋ค.
<script src="./images/jquery.counterup.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/waypoints/2.0.3/waypoints.min.js"></script>
์ ๊ทธ๋ฆฌ๊ณ waypoints.min.js๋ cdn์ผ๋ก ๋ถ๋ฌ์์ฃผ์ด์ผ ํด์ ์ ํ๋๊น ํจ๊ณผ๊ฐ ์ ๋์ค๋ ๊ฑฐ ๊ฐ์์
jquery๊ฐ ์์ผ์ ๋ถ๋ค์ jquery๋ ๋ฃ์ด์ฃผ์ ์ผ ํฉ๋๋ค.
<script src="//t1.daumcdn.net/tistory_admin/lib/jquery/jquery-1.12.4.min.js"></script>
์์ ํฐ์คํ ๋ฆฌ์์ ์ ๊ณตํ๋ cdn ์ ์ด์ฟผ๋ฆฌ์ ๋๋ค.
๋ฐฉ๋ฌธ์ ์์ ์ ์ฉ์ ํ์๋ ค๋ฉด
ctrl + F๋ก _count_total_ ์ ์ฐพ์์ฃผ์ ๋ค
๊ผญ ์ซ์ ๋ถ๋ถ ํ๊ทธ์ ํด๋์ค๋ฅผ ๋ฃ์ผ์ ์ผ ํฉ๋๋ค.
์ ๊ทธ๋ฌ๋ฉด NAN : NOT A NUMBER ๋น๋๋ค.
์ฐ๋ฆฌ๊ฐ ์ฃผ์ด์ผ ํ๋ ํด๋์ค๋ counter์ ๋๋ค.
๋ถํด๋ฝ ์คํจ ๊ธฐ์ค์ผ๋ก ์ค๋ช ๋๋ฆฌ์๋ฉด
<s_sidebar_element>
<!-- ์ ์ฒด ๋ฐฉ๋ฌธ์ -->
<div class="count">
<h2>์ ์ฒด ๋ฐฉ๋ฌธ์</h2>
<p class="total"></p>
<p>Today : </p>
<p>Yesterday : </p>
</div>
</s_sidebar_element>
์๋ ๊ธฐ์กด ์์ค์ ๋๋ค.
<s_sidebar_element>
<!-- ์ ์ฒด ๋ฐฉ๋ฌธ์ -->
<div class="count">
<h2>์ ์ฒด ๋ฐฉ๋ฌธ์</h2>
<p class="total"><span class="counter"></span></p>
<p>Today : <span class="counter"></span></p>
<p>Yesterday : <span class="counter"></span></p>
</div>
</s_sidebar_element>
counter ํด๋์ค๋ฅผ ์ค ๋ชจ์ต. spanํ๊ทธ ์ถ๊ฐ ํ ์ซ์ ๋ถ๋ถ์๋ง class๋ฅผ ์ฃผ์์ต๋๋ค.
์ ์ฉ๋ ๋ชจ์ต
<script>
$('.counter').counterUp();
</scipt>
Jquery์ฉ ์ ๋ ํฐ ํ์ฉํ์ฌ ์นด์ดํฐ ํจ์ ํ์ฐ๊ธฐ
<script>
$('.counter').counterUp({
delay: 10,
time: 1000
});
</scipt>
์ต์ ๋ ์ค ์ ์์ต๋๋ค.
delay : ์ซ์๋น ์ง์ฐ ์๊ฐ(๋ฐ๋ฆฌ์ด) ์นด์ดํธ ์
time : ์นด์ดํธ ์ ์ ๋๋ฉ์ด์ ์ ์ด ์ง์ ์๊ฐ(๋ฐ๋ฆฌ์ด)
1000๋น 1์ด์ ๋๋ค.
<!-- ๋ฐฉ๋ฌธ์ ์ ์นด์ดํธ ์์ -->
<script>
jQuery(document).ready(function($) {
$('.counter').counterUp({
delay: 20,
time: 2000
});
});
</script>
<!-- ๋ฐฉ๋ฌธ์ ์ ์นด์ดํธ ๋ -->
์์ ๋ถ๋ถ์ ๋ฐฉ๋ฌธ์์ class์ ํ์ด์ง๊ฐ load ๋์์ ๋ ์๋์ผ๋ก ๋๊ฒ๋ ํด๋์ ์์ค์ ๋๋ค.
๊ถ๊ธํ์๊ฑฐ๋ ์ดํด ์ ๋๋ ๋ถ๋ถ ์์ผ๋ฉด ๋๊ธ ๋ฌ์์ฃผ์๋ฉด ์ต๋ํ ๋์๋๋ฆฌ๊ฒ ์ต๋๋ค.
๋์์ด ๋์ จ๋ค๋ฉด ํํธ ๊พน~! ๊ฐ์ฌํฉ๋๋ค.
๋๊ธ