Skip to content

Instantly share code, notes, and snippets.

@telamon
Created May 24, 2011 16:46
Show Gist options
  • Save telamon/989090 to your computer and use it in GitHub Desktop.
Save telamon/989090 to your computer and use it in GitHub Desktop.
Effect.Rotate patch for Scriptaculous
Element.getTransform= function (element){
var properties = [
'transform',
'WebkitTransform',
'MozTransform',
'msTransform',
'OTransform'
];
var p;
while (p = properties.shift()) {
if (typeof element.style[p] != 'undefined') {
return p;
}
}
return false;
}
Element.setTransform= function (element,prop){
var properties = [
'transform',
'WebkitTransform',
'MozTransform',
'msTransform',
'OTransform'
];
properties.each(function(i){ element.style[i]=prop});
}
Effect.Rotate = Class.create(Effect.Base, {
initialize: function(element) {
this.element = $(element);
if (!this.element) throw(Effect._elementDoesNotExistError);
var options = Object.extend({
degrees: 360
}, arguments[1] || { });
this.start(options);
},
setup: function() {
this.originalDeg = this.element.style['-webkit-transform'] || 0;
},
update: function(position) {
var d = (position*this.options.degrees);
Element.setTransform(this.element,"rotate("+d+"deg)");
//this.element.setStyle({
// 'MozTransform':"rotate("+d+"deg)", /* FF3.5+ */
// '-o-transform':"rotate("+d+"deg)", /* Opera 10.5 */
// '-webkit-transform':"rotate("+d+"deg)", /* Saf3.1+, Chrome */
// 'msTransform':"rotate("+d+"deg)", /* IE9 */
// 'transform':"rotate("+d+"deg)",
// zoom: 1
//
//});
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment