2011-02-12 14 views
0

특정 바늘에 대해 얼마나 많은 결과가 발견되는지를 기반으로 계산해야하는 시간 동안 jQuery를 사용하여 일부 효과 (애니메이션)를 보여주고 싶습니다. 규칙은 효과가 5 분 이상 지속되지 않아야하고 적어도 5 초는 지속되어야한다는 것입니다.이 시간을 계산하는 방법?

그래서, 특히 여기에 나와 있습니다. 나는 사용자가 입력하고 결과를 세는 특정 단어에 대해 데이터베이스를 검색한다. 그런 다음 동일한 데이터베이스에서 자신이 정의한 단어를 검색하고 결과를 계산합니다. 후자의 결과가 이전 결과보다 많으면 효과를 표시하는 데 얼마나 걸릴지 계산해야합니다. 후자의 결과가 많을수록 효과가 지속되는 시간이 길어집니다. 또한 규칙을 준수해야합니다 (5 분 이상, 5 초 미만).

나는 정확하게 정확해야합니다.

어리석은 질문 일지 모르지만 시간을 계산하는 방법을 스스로 알 수는 없습니다. :)

답변

1

http://jsfiddle.net/rCVnv/3/

$(function(){ 
    var firstNum = Math.random()*10000, 
     secondNum = Math.random()*10000, 
     result = parseInt(secondNum - firstNum), 
     milli = 0; 

    if(result > 0){ 
     if(result < 300000 && result > 5000){ 
      milli = result; 
      $("#test").fadeOut(result); 
     }else if(result > 300000){ 
      milli = 300000; 
     }else if(result < 5000){ 
      milli = 5000; 
     } 

     $("#test").fadeOut(milli); 
    } 

$("#result").text("Result : " + result); 

});

필요한 밀리 초를 어떻게 계산할 지 모르겠습니다. 여기서 내가하는 것은 2 개의 난수를 생성하고 두 번째 값에서 첫 번째 값을 뺍니다. 결과가 300000 밀리 초 (5 분)에서 5000 밀리 초 사이 인 경우, 그 번호에서 사라집니다. 이 범위를 벗어나면 하이 엔드 또는 로우 엔드 중 하나로 설정됩니다. 물론 결과가 음수이면 값 1이 값 2보다 크기 때문에 아무 일도 일어나지 않습니다.

또한 fadeOut을 사용하여 쉽게 애니메이션으로 바꿀 수 있습니다.

0
var intSecondsPerResult = 2; 
var intAnimationDuration = intSecondsPerResult*{$intResultsCount}; 
if(intAnimationDuration < 5) { 
    intAnimationDuration = 5; 
} else if(intAnimationDuration > 300) { 
    intAnimationDuration = 300; 
} 

추신 : $ intResultsCount은 결과 집합 당신이 원하는 무엇

의 크기를 포함?

관련 문제