3

오히려 비정형 jquery easing 함수가 필요합니다. 그것은 기본적으로 당신의 전통적인 편리함과 반대입니다. 프로세스가 빠른 소개부터 더 느린 중간 부분으로 빠르게 나가기를 원하기 때문에 (당신은 speedInOut이라고 부를 것입니다).사용자 정의 jquery 이징 함수에 대한 도움말

불행히도 내 수학은 약간 녹슬었고 시작하는 방법에있어 올바른 방향으로 나를 가리켜 줄 누군가가 필요합니다.

hyperbolical sinus curve (sinh)는 내가 찾고있는 것의 올바른 방향으로 약간 이동하지만, 양쪽 축 모두에서 0과 1 사이로 제한해야합니다.

여기 주시면 감사하겠습니다 내가

$.easing.speedInOut = function(t, millisecondsSince, startValue, endValue, totalDuration) { 
    if(t = 0) return startValue; 
    if(t = 1) return startValue + endValue; 
    // custom function should go here 
}; 

어떤 도움도 함께 일하고 있어요 JQuery와 여유 함수 골격입니다!

+0

내 뛰어난 동료 sinh ((x-0.5) * 10) + sinh (5))/(sinh (5) * 2 [볼프람 알파에서 렌더링 된 것을 보시오] (http://www.wolframalpha.com/ 입력/αi = 플롯 % 28f % 28x % 29 + % 3D + % 28sinh % 28 % 28x + - + 0.5 % 29 + * + 10 % 29 + % 2B + sinh % 285 % 29 % 29 + % 2F + % 28sinh % 285 이것은 이미 내가 원하는 것에 매우 가깝다. 중간 부분에서 너무 느려지 게된다. – ximi

+1

아마도 어쩌면 http://math.stackexchange.com/에있는 사람들이 당신을 도울 수 있습니까? – polarblau

+0

마지막으로 사용한 수학 공식은 다음과 같습니다. (sinh (x - 0.5) * 5) + sinh (- (x - 0.5)) + (sinh (2.5) + sin (-2.5)))/(2.5) * 1.82) 내가 할 수있는 한 내 자신의 질문에 대한 적절한 답을 게시 할 것입니다. (6 시간 후, 하위 100 명의 담당자가 있기 때문에 일찍 허용되지 않습니다) – ximi

답변

4

나는 이전에 언급 한 똑똑한 동료 (실제로 모든 힘든 일을 한 사람이었습니다)의 도움으로 문제를 파악했습니다.

마지막으로 사용한 수학 공식은 다음과 같습니다. (sinh ((x-0.5) * 5) + sinh (- (x-0.5)) + (sinh (2.5) + sin/(SINH (2.5) * 1.82), 그러나 이것은 매우 쉽게 나는 또한 수학 개체의 일부가 아니기 때문에 자바 스크립트 SINH을 구현하는 데 필요한

입니다

:

function sinh(aValue) { 
var myTerm1 = Math.pow(Math.E, aValue); 
var myTerm2 = Math.pow(Math.E, -aValue); 
return (myTerm1-myTerm2)/2; 
} 

자체는 다음과 같습니다 이징 기능 :

$.easing.speedInOut = function(x, t, b, c, d) { 
    return (sinh((x - 0.5) * 5) + sinh(-(x - 0.5)) + (sinh(2.5) + Math.sin(-2.5)))/ (sinh(2.5) * 1.82); 
}; 
+3

예 : http : // jsfiddle .net/b6L8M/24 / – Peter