r2494 - effects: demo visualising easing functions, tuning
Author: joern.zaefferer
Date: Thu Apr 23 15:47:42 2009
New Revision: 2494
Modified:
trunk/demos/effect/easing.html
Log:
effects: demo visualising easing functions, tuning
Modified: trunk/demos/effect/easing.html
==============================================================================
--- trunk/demos/effect/easing.html (original)
+++ trunk/demos/effect/easing.html Thu Apr 23 15:47:42 2009
@@ -10,8 +10,6 @@
.graph {
float: left;
margin-left: 10px;
- width: 100px;
- height: 120px;
}
</style>
<script type="text/javascript">
@@ -21,46 +19,52 @@
return;
}
var i = 0;
+ var width = 100,
+ height = 100;
$.each($.easing, function(name, impl) {
// skip linera/jswing and any non functioning implementation
if (!$.isFunction(impl) || /linear|jswing/.test(name))
return;
var graph = $("<div/>").addClass("graph").appendTo("#graphs");
- $("<div/>").text(++i + ". " + name).appendTo(graph);
+ var text = $("<div/>").text(++i + ". " + name).appendTo(graph);
- var canvas = $("<canvas/>").width(100).height(100).appendTo(graph)[0]
- canvas.width = 100;
- canvas.height = 135;
+ var canvas = $("<canvas/>").appendTo(graph)[0]
+ canvas.width = width;
+ canvas.height = height;
+ var drawHeight = height * 0.75;
+ var cradius = 10;
var ctx = canvas.getContext("2d");
ctx.fillStyle = "black";
ctx.beginPath();
- ctx.moveTo(10, 0);
- ctx.quadraticCurveTo(0, 0, 0, 10);
- ctx.lineTo(0, 125);
- ctx.quadraticCurveTo(0, 135, 10, 135);
- ctx.lineTo(90, 135);
- ctx.quadraticCurveTo(100, 135, 100, 125);
- ctx.lineTo(100, 0);
- ctx.lineTo(10, 0);
+ ctx.moveTo(cradius, 0);
+ ctx.quadraticCurveTo(0, 0, 0, cradius);
+ ctx.lineTo(0, height - cradius);
+ ctx.quadraticCurveTo(0, height, cradius, height);
+ ctx.lineTo(width - cradius, height);
+ ctx.quadraticCurveTo(width, height, width, height - cradius);
+ ctx.lineTo(width, 0);
+ ctx.lineTo(cradius, 0);
ctx.fill();
ctx.strokeStyle = "#555";
ctx.beginPath();
- ctx.moveTo(0, 100.5);
- ctx.lineTo(100, 100.5);
+ ctx.moveTo(0, drawHeight + .5);
+ ctx.lineTo(width, drawHeight + .5);
ctx.stroke();
ctx.strokeStyle = "white";
ctx.lineWidth = 2;
ctx.beginPath();
- $.each(new Array(100), function(position) {
- ctx.lineTo(position, 100 - position * impl(0, position, 0, 1, 100));
+ $.each(new Array(width), function(position) {
+ ctx.lineTo(position, drawHeight - position * impl(0, position, 0, 1,
height) * 0.75);
});
ctx.stroke();
graph.click(function() {
$(canvas).animate({height: "hide"}, "slow",
name).animate({"left": "0"}, 800).animate({height: "show"}, "slow", name);
});
+
+ graph.width(width).height(height + text.height() + 10);
//return false;
});
});