2010-08-23 3 views

ответ

3

Вы можете изменить продолжительность анимации движения по умолчанию на рассматриваемых элементов. Например, если вы хотите анимацию на элемент с идентификатором «flashyflashy» иметь длительность 2000 мс вместо 500 мс по умолчанию, вызовите следующее:

$("flashylflashy").get("tween").options.duration = 2000; 

Это должно замедлить экземпляр анимации элементов по умолчанию, и таким образом замедлить метод выделения.

Вы также могли бы реализовать пользовательские функции выделения:

Element.implement({ 
    highlight: function(start, end, duration){ 
     if (!end){ 
      end = this.retrieve('highlight:original', this.getStyle('background-color')); 
      end = (end == 'transparent') ? '#fff' : end; 
     } 
     var tween = this.get('tween'); 
     tween.options.duration = duration; 
     tween.start('background-color', start || '#ffff88', end).chain(function(){ 
      this.setStyle('background-color', this.retrieve('highlight:original')); 
      tween.callChain(); 
     }.bind(this)); 
     return this; 
    } 
}); 

Это должно позволить вам пройти не только старт/конечные цветы, но и длительность, что гвоздь следует использовать. Выше код не проверен, но он должен работать нормально.

+0

Приветствия! Я никогда не думал о замедлении всего класса Tween для этого элемента ... имеет смысл. –

+1

Добро пожаловать. Я согласен, это немного решение грубой силы, поскольку подсветка не единственная функция использования экземпляра элементов tween и, как таковая, не является идеальным решением, но она работает.;) – Seidr

+4

Будьте предупреждены, что делать 'el.get (" tween "). options.duration = 2000;' не будет работать с MooTools 1.2.5, так как делает 'el.get()' to ** set ** что-то было ошибкой, теперь это будет работайте так, как это должно быть 'el.set ('tween', {duration: 2000})'. –

Смежные вопросы