<div class="box">
<div class="boxin"></div>
<div class="rate" data-rate="80"></div>
</div>
<script src="js/jquery.animateNumber.min.js"></script>
var box = $('.box'),
boxin = box.find('.boxin'),
rate = box.find('.rate'),
rateNum = rate.attr('data-rate');
boxin.animate({width:rateNum + '%'}, 2000);
//첫번째
// setInterval(textAni, 100);
// function textAni(){
// var currentRate = boxin.width() / box.width() * 100;
// rate.text( Math.ceil(currentRate) + '%');
// }
//두번째 animate 사용자속성 만들어 넣기
// $({rate:0}).animate({rate:rateNum},{
// duration:2000,
// progress:function(){
// var now = this.rate;
// rate.text( Math.ceil(now) + '%');
// }
// })
//세번째 animate number 플러그인 사용
var percent_number_step = $.animateNumber.numberStepFactories.append(' %');
$('.rate').animateNumber({
number: rateNum,
numberStep: percent_number_step
},
{
easing: 'swing',
duration: 2000
}
);
스크롤 후 숫자 카운터
var box = $('.box'),
boxin = box.find('.boxin'),
rate = box.find('.rate'),
rateNum = 0;
gogo = false;
$(window).scroll(function(){
var threshold = $('.box').offset().top - 700;
console.log(threshold);
if(!gogo){
if($(window).scrollTop() >= threshold){
rateNum = rate.attr('data-rate');
boxin.animate({width:rateNum + '%'}, 1000);
setInterval(textAni, 100);
function textAni(){
var currentRate = boxin.width() / box.width() * 100;
rate.text( Math.ceil(currentRate) + '%');
};
gogo = true;
}
}
});
'Js' 카테고리의 다른 글
Lottie json 파일 단순 마우스 오버 효과 (0) | 2024.10.17 |
---|---|
replace(), 유튜브 클릭시 오토플레이 (0) | 2024.07.17 |
hasClass를 이용한 이미지 체인지 (0) | 2024.07.17 |
throttle(), clone() (0) | 2024.07.17 |
lottieFiles (0) | 2024.07.15 |
Lottie.js, scroll 연동 (0) | 2024.07.15 |
swiper.on('slideChange'), letters (1) | 2024.07.14 |
gsap, draggable, photoswipe (0) | 2024.07.10 |