mootools 1.12 до 1.25 сложность обновления скрипта - PullRequest
1 голос
/ 16 ноября 2011

привет, у меня есть скрипт 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 следующая:

Сообщение об ошибке: объект не поддерживает свойство или метод 'equize'

Ответы [ 2 ]

2 голосов
/ 16 ноября 2011

Вы хотите использовать implement вместо extend.Extend добавляет только статический метод, в то время как Implement изменяет прототип Class.

При этом, вероятно, вы захотите использовать Elements вместо Array, так как equalize не имеет смысла для нетипизированного массива(Элементы можно считать массивом, который заполнен только элементами Element)

tl; dr: ваш код должен читать Elements.implement вместо Array.extend

1 голос
/ 16 ноября 2011

В MooTools 1.2+ нет объекта size метода getSize(), поэтому: el.getSize().size.y становится el.getSize().y.

Пример: http://jsfiddle.net/wagEJ/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...