2013-08-16 9 views
3

숫자가 움직일 때 페이지가로드 될 때 번호에 굴림을 넣으려고합니다. 다른 라이브러리를 사용하여 다이얼 (http://anthonyterrien.com/knob/)을 표시하고 있습니다. 내가 겪고있는 문제는 그 숫자가 실행할 때마다 그 숫자가 다른 것처럼 보입니다. 19420으로 끝나는 일관된 숫자 여야합니다. 그러나 때로는 더 낮으며 특정 패턴이없는 것 같습니다.jQuery 및 노브 애니메이션 문제

내 JS 코드는 다음과 같습니다

$(function() { 
    $('#dial').knob({ 
     min: '0', 
     max: '25000', 
     readOnly: true 
    }); 

    $({ 
     value: 0 
    }).animate({ 
     value: 19420 
    }, { 
     duration: 950, 
     easing: 'swing', 
     step: function() { 
      $('#dial').val(Math.round(this.value)).trigger('change'); 
     } 
    }); 
}); 

바이올린은 여기에서 찾을 수 있습니다 : 내가 잘못 수행 또는 거기에 내가 놓친 것 아무거나 것을 http://jsfiddle.net/ND5Sf/

? 그렇지 않은 경우이 두 라이브러리가 호환되지 않습니까?

+0

는 아마 내 생각 당신이 3000 작품 잘 설정하면 뭔가를 놓치지 –

+0

그냥 3000으로 시도하고 난 여전히 같은 문제가 있었어 – Serberuss

답변

4

progress 대신 step 함수를 사용하고 있기 때문에 문제가 발생했습니다.

단계 :

함수가 각각의 애니메이션의 각 요소 애니메이션 속성을 요구한다. 이 함수는 Tween 개체를 수정하여 속성을 설정하기 전에 값을 변경하도록합니다.

진행 :

함수가 한번만 애니메이션 요소마다없이 애니메이션 속성의 수의 애니메이션의 각 단계 후에 호출된다. (버전은 추가 : 1.8)

코드 :

$(function() { 
    $('#dial').knob({ 
     min: '0', 
     max: '25000', 
     readOnly: true 
    }); 

    $({ 
     value: 0 
    }).animate({ 
     value: 19420 
    }, { 
     duration: 950, 
     easing: 'swing', 
     progress: function() { 
      $('#dial').val(Math.round(this.value)).trigger('change'); 
     } 
    }); 
}); 

문서 : http://api.jquery.com/animate/

데모 : (950)의 지속 시간, 틱이 너무 작은하고 있기 때문에 http://jsfiddle.net/IrvinDominin/JW2gP/

+0

그냥 궁금해, 만약 당신이 있다면 페이지의 여러 다이얼? http://jsfiddle.net/JW2gP/1/ – jdepypere

+0

발견 : http://jsfiddle.net/JW2gP/3/ – jdepypere

+1

대단히 감사합니다. 지금은 예상대로 많이 작동합니다. 나는 문서를 올바르게 읽도록 가르쳐 줄 것이라고 생각합니다. – Serberuss