javascript 질문 입니다. 채택완료

안녕하세요.
숫자가 카운팅되는 자바스크립트 소스를 구해서 사용중입니다.

소숫점까지 표현되어야되는 부분이 있는데 소숫점표현이 안되더라구요;

조언을 부탁드리겠습니다.

 

Copy
<div class="arrival item">
     <p class="radi_tem"><img src="image/main/quick_icon3.png" alt=""></p>
     <p id="counter3"><b>23.4%</b></p>
     <p>열무디자인 콘텐츠 <br>평균 추가 도달률</p>
</div>

 

<script>
        $(document).scroll(function(){
            var f = true;
            if($(this).scrollTop() < 1400)    {  
                if(f == true){

                function numberCounter(target_frame, target_number) {
                    this.count = 0; this.diff = 0;
                    this.target_count = parseInt(target_number);
                    this.target_frame = document.getElementById(target_frame);
                    this.timer = null;
                    this.counter();
                };
                    numberCounter.prototype.counter = function() {
                        var self = this;
                        this.diff = this.target_count - this.count;
                    
                        if(this.diff > 0) {
                            self.count += Math.ceil(this.diff / 5);
                        }
                    
                        this.target_frame.innerHTML = this.count.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
                    
                        if(this.count < this.target_count) {
                            this.timer = setTimeout(function() { self.counter(); }, 20);
                        } else {
                            clearTimeout(this.timer);
                        }
                    };

                new numberCounter("counter3", 23); // 이부분을 23.4%로 표현하고자 합니다.
                new numberCounter("counter2", 487);
                new numberCounter("counter1", 147654);

    
                }

                f = false;
            }
        });
    </script>

답변 2개

채택된 답변
+20 포인트

 

 self.count += Math.ceil(this.diff / 5);

                      ceil() 을 빼고 해 보세요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

답변 감사드립니다.
ceil()을 제외할경우 동작을 안하네요 ^^;
좀더 찾아보겠습니다.
적용하신 코드를 보여 주세요.


self.count += Math(this.diff / 5);
설마 이렇게 하신 거는 아니죠?

댓글을 작성하려면 로그인이 필요합니다.

this.target_count = parseFloat(target_number);

this.target_frame = document.getElementById(target_frame);

 

이 부분 수정한 후에..

new numberCounter("counter3", 23.4); 

해보세요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

감사합니다 선생님, 알려주신대로하니 24로 표시가되네요. 조금더 방법을 찾아보겠습니다.
시간내주셔서 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고