Converting mootools code into jQuery
Can anyone please help me in converting this mootools code into jQuery:
- window.addEvent("load", function () {
- if (window.ie6) {
- $$("#horiz-menu li").each(function (e) {
- e.addEvents({
- "mouseenter": function () { e.addClass("sfHover"); },
- "mouseleave": function () {
- e.removeClass("sfHover");
- }
- });
- });
- }
- });
- window.addEvent("domready", function(){
- // necessary classes
- Fx.Height = Fx.Style.extend({
- initialize: function (el, options) {
- $(el).setStyle('overflow', 'hidden');
- this.parent(el, 'height', options);
- },
- toggle: function () {
- var style = this.element.getStyle('height').toInt();
- return (style > 0) ? this.start(style, 0) : this.start(0, this.element.scrollHeight);
- },
- show: function () {
- return this.set(this.element.scrollHeight);
- }
- });
-
- Fx.Width = Fx.Style.extend({
- initialize: function (el, options) {
- this.element = $(el);
- this.element.setStyle('overflow', 'hidden');
- this.iniWidth = this.element.getStyle('width').toInt();
- this.parent(this.element, 'width', options);
- },
- toggle: function () {
- var style = this.element.getStyle('width').toInt();
- return (style > 0) ? this.start(style, 0) : this.start(0, this.iniWidth);
- },
- show: function () {
- return this.set(this.iniWidth);
- }
- });
-
- Fx.Opacity = Fx.Style.extend({
- initialize: function (el, options) {
- this.now = 1; this.parent(el, 'opacity', options);
- },
- toggle: function () {
- return (this.now > 0) ? this.start(1, 0) : this.start(0, 1);
- },
- show: function () {
- return this.set(1);
- }
- });
-
- var main = $("horiz-menu");
- var levels = new Array();
- var opacityFX = new Array();
- var heightFX = new Array();
- var widthFX = new Array();
- main.getChildren().each(function(el,i){
- levels.push(new Array());
- opacityFX.push(new Array());
- heightFX.push(new Array());
- widthFX.push(new Array());
- el.getElementsBySelector("ul").each(function(elm,j){
- levels[i].push(elm.getParent());
- opacityFX[i].push(new Fx.Opacity(elm, { duration: 180, transition: Fx.Transitions.linear }).set(0));
- heightFX[i].push(new Fx.Height(elm, { duration: 180, transition: Fx.Transitions.linear }).set(0));
- widthFX[i].push(new Fx.Width(elm, { duration: 180, transition: Fx.Transitions.linear }).set(0));
- });
- });
-
- levels.each(function(e,k){
- e.each(function(a,l){
- a.addEvents({
- "mouseenter" : function(){
- a.getChildren()[1].setStyle("overflow","hidden");
- opacityFX[k][l].toggle();
- heightFX[k][l].toggle();
- widthFX[k][l].toggle();
- (function(){a.getChildren()[1].setStyle("overflow","")}).delay(180);
- },
- "mouseleave" : function(){
- a.getChildren()[1].setStyle("overflow","hidden");
- opacityFX[k][l].stop().set(0);
- heightFX[k][l].stop().set(0);
- widthFX[k][l].stop().set(0);
- }
- });
- });
- });
- });