테스트 사이트 - 개발 중인 베타 버전입니다

javascript 질문 입니다. 채택완료

용미엘 3년 전 조회 2,227

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

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

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

 

</p>

<p><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>열무디자인 콘텐츠 
평균 추가 도달률</p>

</div></p>

<p> </p>

<p><script>

        $(document).scroll(function(){

            var f = true;

            if($(this).scrollTop() < 1400)    {  

                if(f == true){</p>

<p>                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);

                        }

                    };</p>

<p>                new numberCounter("counter3", 23); // 이부분을 23.4%로 표현하고자 합니다.

                new numberCounter("counter2", 487);

                new numberCounter("counter1", 147654);</p>

<p>    

                }</p>

<p>                f = false;

            }

        });

    </script></p>

<p>

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

답변 2개

채택된 답변
+20 포인트

 

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

                      ceil() 을 빼고 해 보세요

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

답변에 대한 댓글 2개

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


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

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

e
3년 전

this.target_count = parseFloat(target_number);

this.target_frame = document.getElementById(target_frame);

 

이 부분 수정한 후에..

new numberCounter("counter3", 23.4); 

해보세요.

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

답변에 대한 댓글 1개

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

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

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

로그인