금액 출력시 숫자효과 주고 콤마찍기 채택완료
망이망소이
7년 전
조회 3,008
아래와 같이 두가지 방법을 혼합하여 숫자(금액)을 표시를 해주고 싶은데
단순하게 혼합하니까 애러가 Nan 이 뜨거나 아예 안보이더군요.
고수님들 도와주세요~
php로 숫자만 콤마찍어 출력하는 방법
</p>
<p><div class="wowcount">
<?php
$value = 39840;
$money = number_format($value);
echo $money;
?> 원
</div></p>
<p>
스크립트로 지정된 선택자에 들어있는 숫자를 애니메이션 시키는것.
</p>
<p><div class="wowcount">39840</div></p>
<p><script></p>
<p>// 0부터 카운트 애니메이션 시키는 스크립트</p>
<p>$('.wowcount').each(function () {
$(this).prop('Counter',0).animate({
Counter: $(this).text()
}, {
duration: 3000,
easing: 'swing',
step: function (now) {
$(this).text(Math.ceil(now));
}
});
});</p>
<p></script>
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
7년 전
찾으시는듯하여
여기에 샘플 만들어놨습니다.
</p>
<p><?php
$value = 30689;
$money = number_format($value);
echo $money;
?>
</b>
<div class="wowcount">
1234123
</div></p>
<p><script>
function ncomma(num) {
return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}</p>
<p>//카운트효과
$('.wowcount').each(function () {
$(this).prop('Counter',0).animate({
Counter: parseInt($(this).text())
}, {
duration: 3000,
easing: 'swing',
step: function (now) {
$(this).text(ncomma(Math.ceil(now)));
}
});
});
</script> </p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
망이망소이
7년 전
댓글을 작성하려면 로그인이 필요합니다.
7년 전
NaN을 유발하는 코드는
위에 사용하신 내용중에서
</p>
<p><div class="wowcount"></p>
<p><?php</p>
<p>$value = 39840;</p>
<p>$money = number_format($value);</p>
<p>echo $money;</p>
<p>?></p>
<p> 원</p>
<p></div></p>
<p>
입니다.
위의 코드가 최소한 숫자로만 인식되도록 변경해야 합니다.
</p>
<p><div ></p>
<p><span class="wowcount"></p>
<p><?php</p>
<p>$value = 39840;</p>
<p>// $money = number_format($value); // 숫자를 ,를찍으면 문자가 됩니다.</p>
<p>if ($value >=0) </p>
<p> echo $value;</p>
<p>else</p>
<p> echo "0";</p>
<p>?></p>
<p></span></p>
<p> 원</p>
<p></div></p>
<p>
금액표기는 그다음 문제라고 봐야합니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
�
망이망소이
7년 전
답변 감사드립니다.
둘다 써보면 되긴 합니다.
문제는 위에거는 콤마가 들어간 숫자만 나오고
아랫것은 숫자가 애니메이션되면서 나오는데 콤마가 안찍혀서
이 두개를 적절히 혼합해서
숫자가 0부터 애니메이션효과로 숫자가 지정한 숫자로 바뀌면서
콤마까지 찍히게 하려는 겁니다^^
[code]
<b class="wowcount">
<?php
$value = 30689;
$money = number_format($value);
echo $money;
?>
</b>
<script>
//카운트효과
$('.wowcount').each(function () {
$(this).prop('Counter',0).animate({
Counter: $(this).text()
}, {
duration: 3000,
easing: 'swing',
step: function (now) {
$(this).text(Math.ceil(now));
}
});
});
</script>
[/code]
요렇게 쓰고 싶은데 애러의 원인을 못찾고 있는거죠~
둘다 써보면 되긴 합니다.
문제는 위에거는 콤마가 들어간 숫자만 나오고
아랫것은 숫자가 애니메이션되면서 나오는데 콤마가 안찍혀서
이 두개를 적절히 혼합해서
숫자가 0부터 애니메이션효과로 숫자가 지정한 숫자로 바뀌면서
콤마까지 찍히게 하려는 겁니다^^
[code]
<b class="wowcount">
<?php
$value = 30689;
$money = number_format($value);
echo $money;
?>
</b>
<script>
//카운트효과
$('.wowcount').each(function () {
$(this).prop('Counter',0).animate({
Counter: $(this).text()
}, {
duration: 3000,
easing: 'swing',
step: function (now) {
$(this).text(Math.ceil(now));
}
});
});
</script>
[/code]
요렇게 쓰고 싶은데 애러의 원인을 못찾고 있는거죠~
�
플래토
7년 전
자바스크립트로 콤마찍는걸
$(this).text(여기에 적용(Math....));
로 하시고
Counter에서는 콤마를 제거하는 parseInt 를 적용하면 해결 될겁니다
찾아보시면 많이 나옵니다
$(this).text(여기에 적용(Math....));
로 하시고
Counter에서는 콤마를 제거하는 parseInt 를 적용하면 해결 될겁니다
찾아보시면 많이 나옵니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
또 한번 배우면서 존경하는 마음을 표합니다. 감사합니다.