mootools 1.12到1.25更新脚本困难

时间:2011-11-15 22:16:54

标签: javascript mootools

嗨,我有一个mootools脚本,适用于版本1.12,但我想更新到1.25,它会抛出一个错误。 这是脚本:

 window.addEvent('load', function() {


 Array.extend({  
    equalize: function(){
        maxHeight = [];

        this.each(function(el){
            maxHeight.push(el.getSize().size.y);
        });
        this.setStyle('height', Math['max'].apply(Math, maxHeight));
    }
});
$$('#col1,#col2,#col3,#col4,#col5').equalize();
$$('.column,.general').equalize();
  });

非常简单,但我不知道我需要做什么来更新它为更新版本的mootools。 ie9中的错误如下:

错误消息:对象不支持属性或方法'equalize'

2 个答案:

答案 0 :(得分:2)

您想使用implement代替extend。 Extend只添加一个静态方法,而实现改变了Class的原型。

话虽如此,您可能希望使用Elements而不是Array,因为equalize对于无类型数组没有意义(元素可以被视为仅填充的数组元素项目)

tl; dr:您的代码应该是Elements.implement而不是Array.extend

答案 1 :(得分:1)

在MooTools 1.2+中,size方法没有getSize()个对象,因此:el.getSize().size.y变为el.getSize().y

示例:http://jsfiddle.net/wagEJ/