Page 99 - jQuery для начинающих
P. 99

opts;    // опции анимации
                           // отключаем анимацию при попытке анимировать высоту элемента

                           if (props['height'] != undefined) {
                                  return this;
                           }

                    });
                    Пример можно пощупать animate.prefilter.html


             Про  jQuery.Animation.tweener  так  же  много  не  расскажешь,  но  пример  получилось

             сделать  чуток  интересней  –  приведённый  код  позволяет  анимировать  ширину  и  высоту
             объекта по заданной диагонали:


                    Осторожно, для понимания происходящего потребуются знания геометрии за 8-
                    ой класс


                    // создаём поддержку нового свойства для анимации – diagonal

                    jQuery.Animation.tweener( "diagonal", function( property, value ) {
                           // создаём tween объект
                           var tween = this.createTween( property, value );

                           // промежуточные вычисления и данные
                           var a = jQuery.css(tween.elem, 'width', true );
                           var b = jQuery.css(tween.elem, 'height', true );

                           var c = Math.sqrt(a*a + b*b), sinA = a/c, sinB = b/c;
                           tween.start = c;
                           tween.end = value;

                           tween.run = function(progress) {
                                  // вычисление искомого значения – новое значение гипотенузы

                                  var hyp = this.start + ((this.end - this.start) * progress);
                                  // непосредственно измение свойств элемента
                                  tween.elem.style.width = sinA*hyp + tween.unit;
                                  tween.elem.style.height = sinB*hyp + tween.unit;

                           };
                           return tween;

                    });


                    Пример работы animate.tweener.html





                                                                                                         99


                                                                                        www.trk.kg
   94   95   96   97   98   99   100   101   102   103   104