Merge pull request #7304 from errorx666/easing

add easing functions to jquery and jqueryui
This commit is contained in:
Masahiro Wakame
2016-01-12 00:16:41 +09:00
4 changed files with 102 additions and 0 deletions
+14
View File
@@ -1710,6 +1710,20 @@ function test_focusout() {
});
}
function test_easing() {
const easing = jQuery.easing;
function test_easing_function( name: string, fn: JQueryEasingFunction ) {
const step = Math.pow( 2, -3 ); // use power of 2 to prevent floating point rounding error
for( let i = 0; i <= 1; i += step ) {
console.log( `$.easing.${name}(${i}): ${fn.call(easing, i)}` );
}
}
test_easing_function( "linear", easing.linear );
test_easing_function( "swing", easing.swing );
}
function test_fx() {
jQuery.fx.interval = 100;
$("input").click(function () {
+13
View File
@@ -607,6 +607,16 @@ interface JQueryAnimationOptions {
specialEasing?: Object;
}
interface JQueryEasingFunction {
( percent: number ): number;
}
interface JQueryEasingFunctions {
[ name: string ]: JQueryEasingFunction;
linear: JQueryEasingFunction;
swing: JQueryEasingFunction;
}
/**
* Static members of jQuery (those on $ and jQuery themselves)
*/
@@ -889,6 +899,9 @@ interface JQueryStatic {
/**
* Effects
*/
easing: JQueryEasingFunctions;
fx: {
tick: () => void;
/**
+42
View File
@@ -1819,3 +1819,45 @@ function test_widget() {
$(".selector").jQuery.Widget("option", "disabled", true);
$(".selector").jQuery.Widget("option", { disabled: true });
}
function test_easing() {
const easing = jQuery.easing;
function test_easing_function( name: string, fn: JQueryEasingFunction ) {
const step = Math.pow( 2, -3 ); // use power of 2 to prevent floating point rounding error
for( let i = 0; i <= 1; i += step ) {
console.log( `$.easing.${name}(${i}): ${fn.call(easing, i)}` );
}
}
test_easing_function("easeInQuad", easing.easeInQuad);
test_easing_function("easeOutQuad", easing.easeOutQuad);
test_easing_function("easeInOutQuad", easing.easeInOutQuad);
test_easing_function("easeInCubic", easing.easeInCubic);
test_easing_function("easeOutCubic", easing.easeOutCubic);
test_easing_function("easeInOutCubic", easing.easeInOutCubic);
test_easing_function("easeInQuart", easing.easeInQuart);
test_easing_function("easeOutQuart", easing.easeOutQuart);
test_easing_function("easeInOutQuart", easing.easeInOutQuart);
test_easing_function("easeInQuint", easing.easeInQuint);
test_easing_function("easeOutQuint", easing.easeOutQuint);
test_easing_function("easeInOutQuint", easing.easeInOutQuint);
test_easing_function("easeInExpo", easing.easeInExpo);
test_easing_function("easeOutExpo", easing.easeOutExpo);
test_easing_function("easeInOutExpo", easing.easeInOutExpo);
test_easing_function("easeInSine", easing.easeInSine);
test_easing_function("easeOutSine", easing.easeOutSine);
test_easing_function("easeInOutSine", easing.easeInOutSine);
test_easing_function("easeInCirc", easing.easeInCirc);
test_easing_function("easeOutCirc", easing.easeOutCirc);
test_easing_function("easeInOutCirc", easing.easeInOutCirc);
test_easing_function("easeInElastic", easing.easeInElastic);
test_easing_function("easeOutElastic", easing.easeOutElastic);
test_easing_function("easeInOutElastic", easing.easeInOutElastic);
test_easing_function("easeInBack", easing.easeInBack);
test_easing_function("easeOutBack", easing.easeOutBack);
test_easing_function("easeInOutBack", easing.easeInOutBack);
test_easing_function("easeInBounce", easing.easeInBounce);
test_easing_function("easeOutBounce", easing.easeOutBounce);
test_easing_function("easeInOutBounce", easing.easeInOutBounce);
}
+33
View File
@@ -1805,3 +1805,36 @@ interface JQueryStatic {
widget: JQueryUI.Widget;
Widget: JQueryUI.Widget;
}
interface JQueryEasingFunctions {
easeInQuad: JQueryEasingFunction;
easeOutQuad: JQueryEasingFunction;
easeInOutQuad: JQueryEasingFunction;
easeInCubic: JQueryEasingFunction;
easeOutCubic: JQueryEasingFunction;
easeInOutCubic: JQueryEasingFunction;
easeInQuart: JQueryEasingFunction;
easeOutQuart: JQueryEasingFunction;
easeInOutQuart: JQueryEasingFunction;
easeInQuint: JQueryEasingFunction;
easeOutQuint: JQueryEasingFunction;
easeInOutQuint: JQueryEasingFunction;
easeInExpo: JQueryEasingFunction;
easeOutExpo: JQueryEasingFunction;
easeInOutExpo: JQueryEasingFunction;
easeInSine: JQueryEasingFunction;
easeOutSine: JQueryEasingFunction;
easeInOutSine: JQueryEasingFunction;
easeInCirc: JQueryEasingFunction;
easeOutCirc: JQueryEasingFunction;
easeInOutCirc: JQueryEasingFunction;
easeInElastic: JQueryEasingFunction;
easeOutElastic: JQueryEasingFunction;
easeInOutElastic: JQueryEasingFunction;
easeInBack: JQueryEasingFunction;
easeOutBack: JQueryEasingFunction;
easeInOutBack: JQueryEasingFunction;
easeInBounce: JQueryEasingFunction;
easeOutBounce: JQueryEasingFunction;
easeInOutBounce: JQueryEasingFunction;
}