사용자가 주행 거리계 (카운터 변수의 스크립트 맨 아래)를 설정하기 위해 데이터를 입력 할 때 호출되는 함수가 있습니다. 사용자가 필드를 변경하고자하는 경우 양식에 새로운 데이터를 넣으면 주행 거리계가 재설정되고 다시 시작됩니다.jQuery - 이전 함수 실행을 중지합니다.
문제점은 이전 기능 (jOdometer)이 이전 데이터 및 새 주행 거리계와 함께 계속 실행되고 있다는 것입니다. 이전 기능의 실행을 중지하고 다시 시작하려면 어떻게합니까?
나는
$(function(){
var counter;
$('#submit').click(function(){
if(counter != undefined){
counter.stop();
}
// get values from user.
var counter_start = 0;
var counter_end = 0;
var increment = 0;
var delayTime = 0;
var speed = 0;
var extraDigits = [];
if($('#counter_end').length > 0){
counter_end = $('#counter_end').val();
}else{
counter_end = false;
}
if($('#counter_start').length > 0){
counter_start = $('#counter_start').val();
if(counter_end.length > counter_start.length){
for(i=counter_start.length+1; i<=counter_end.length; i++){
extraDigits = '0' + extraDigits;
}
if(extraDigits.length > 0){
counter_start = extraDigits + counter_start
}
}
}else{
counter_start = 1;
}
if($('#increment').length > 0){
increment = $('#increment').val();
}else{
increment = 1;
}
if($('#delay_time').length > 0){
delayTime = $('#delay_time').val();
}else{
delayTime = 500;
}
if($($('#delay_time')).length > 0){
delayTime = $('#delay_time').val();
}else{
delayTime = 1000;
}
counter = $('.counter4').jOdometer({
counterStart: String(counter_start),
counterEnd: String(counter_end),
delayTime: parseInt(delayTime),
increment: parseInt(increment),
speed: parseInt(speed),
formatNumber: true,
spaceNumbers: 0,
widthDot: 10
});
})
});
그러나 작동하지 않습니다 ... 다음 작업을 수행 할 수있는 기대했다. 내가 도대체 뭘 잘못하고있는 겁니까?
.goToNumber 내가 필요한 것입니다. 감사. –