--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web/res/metadataplayer/test/interface 1.2/source/ifxshake.js Wed Apr 06 16:26:16 2011 +0200
@@ -0,0 +1,97 @@
+/**
+ * Interface Elements for jQuery
+ * FX - shake
+ *
+ * http://interface.eyecon.ro
+ *
+ * Copyright (c) 2006 Stefan Petre
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ *
+ */
+
+/**
+ * @name Shake
+ * @description makes the element to shake
+ * @param Integer times how many tomes to shake the element
+ * @param Function callback (optional) A function to be executed whenever the animation completes.
+ * @type jQuery
+ * @cat Plugins/Interface
+ * @author Stefan Petre
+ */
+jQuery.fn.Shake = function (times, callback) {
+ return this.queue('interfaceFX',function(){
+ if (!jQuery.fxCheckTag(this)) {
+ jQuery.dequeue(this, 'interfaceFX');
+ return false;
+ }
+ var e = new jQuery.fx.Shake(this, times, callback);
+ e.shake();
+ });
+};
+jQuery.fx.Shake = function (e, times, callback)
+{
+ var z = this;
+ z.el = jQuery(e);
+ z.el.show();
+ z.times = parseInt(times)||3;
+ z.callback = callback;
+ z.cnt = 1;
+ z.oldStyle = {};
+ z.oldStyle.position = z.el.css('position');
+ z.oldStyle.top = parseInt(z.el.css('top'))||0;
+ z.oldStyle.left = parseInt(z.el.css('left'))||0;
+
+ if (z.oldStyle.position != 'relative' && z.oldStyle.position != 'absolute') {
+ z.el.css('position', 'relative');
+ }
+
+ z.shake = function ()
+ {
+ z.cnt ++;
+
+ z.e = new jQuery.fx(
+ z.el.get(0),
+ {
+ duration: 60,
+ complete : function ()
+ {
+ z.e = new jQuery.fx(
+ z.el.get(0),
+ {
+ duration: 60,
+ complete : function ()
+ {
+ z.e = new jQuery.fx(
+ e,
+ {
+ duration: 60,
+ complete: function(){
+ if (z.cnt <= z.times)
+ z.shake();
+ else {
+ z.el.css('position', z.oldStyle.position).css('top', z.oldStyle.top + 'px').css('left', z.oldStyle.left + 'px');
+ jQuery.dequeue(z.el.get(0), 'interfaceFX');
+ if (z.callback && z.callback.constructor == Function) {
+ z.callback.apply(z.el.get(0));
+ }
+ }
+ }
+ },
+ 'left'
+ );
+ z.e.custom (z.oldStyle.left-20, z.oldStyle.left);
+ }
+ },
+ 'left'
+ );
+ z.e.custom (z.oldStyle.left+20, z.oldStyle.left-20);
+ }
+ },
+ 'left'
+ );
+ z.e.custom (z.oldStyle.left, z.oldStyle.left+20);
+ };
+
+};
\ No newline at end of file