Вопрос о Языке Python: атрибуты объекта () по сравнению с Функцией

GreenSock Animation Platform (GSAP) с TweenLite / TweenMax обеспечивает гораздо более плавные переходы с гораздо большей настройкой, чем переходы jQuery или CSS3. Чтобы анимировать свойства CSS с помощью TweenLite / TweenMax, вам также понадобится их плагин под названием «CSSPlugin». TweenMax включает это автоматически.

Сначала загрузите библиотеку TweenMax:


Или облегченную версию, TweenLite:




Затем вызовите анимацию:

 var myObj= document.getElementById("myDiv");

// Syntax: (target, speed, {distance, ease})
 TweenLite.to(myObj, .7, { x: 500, ease: Power3.easeOut});

Вы также можете вызвать ее с помощью селектора идентификаторов:

 TweenLite.to("#myID", .7, { x: 500, ease: Power3.easeOut});

Если у вас есть jQuery загружены, вы можете использовать более расширенные широкие селекторы, как и все элементы, содержащие определенный класс:

 // This will parse the selectors using jQuery's engine.
TweenLite.to(".myClass", .7, { x: 500, ease: Power3.easeOut});

Для получения полной информации см .: Документация TweenLite

Согласно их веб-сайту: «TweenLite - чрезвычайно быстрый, легкий и гибкий инструмент анимации, который служит основой GreenSock Animation Platform (GSAP)».

17
задан Anthony Kong 2 July 2009 в 05:27
поделиться

3 ответа

Причина, по которой функциональные объекты поддерживают произвольные атрибуты, заключается в том, что до того, как мы добавили эту функцию, несколько фреймворков (например, парсеров-генераторов) злоупотребляли строками документации функций (и другими атрибутами функциональных объектов), чтобы спрятать их на - информация о функциях, которая была для них критически важна - необходимость в такой ассоциации произвольных именованных атрибутов с объектами функций, доказываемых на примерах, поддерживающих их непосредственно в языке, а не позволяя (например) злоупотреблять строками документации, была довольно очевидна. 1280] Для поддержки произвольных атрибутов экземпляра тип должен предоставить каждому из своих экземпляров __ dict __ - это не проблема для функций (которые в любом случае никогда не являются крошечными объектами), но вполне может быть для других объектов. предполагал, что будет крошечным.Сделав тип объекта максимально легким, а также предоставив __ слоты __ , чтобы можно было избежать отдельных экземпляров __ dict __ в подтипах объекта , мы в меру своих возможностей поддерживали небольшие специализированные "ценностные" типы.

22
ответ дан 30 November 2019 в 12:36
поделиться

Алекс Мартелли опубликовал отличный ответ на ваш вопрос. Для тех, кто ищет хороший способ выполнения произвольных атрибутов для пустого объекта, сделайте следующее:

class myobject(object):
    pass

o = myobject()
o.anything = 123

Или более эффективно (и лучше задокументировано), если вы знаете атрибуты:

class myobject(object):
    __slots__ = ('anything', 'anythingelse')

o = myobject()
o.anything = 123
o.anythingelse = 456
7
ответ дан 30 November 2019 в 12:36
поделиться

Причина в том, что экземпляр of object () является вырожденным частным случаем. Это «объект», но он не предназначен для использования сам по себе.

Думайте о объекте как о временном приеме, связывающем типы и классы старого стиля. В Python 3.0 он уйдет в небытие, потому что он больше не будет использоваться как часть

class Foo( object ):
    pass

f = Foo()
f.randomAttribute = 3.1415926
1
ответ дан 30 November 2019 в 12:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: