Scriptaculous - когда же использовать new?
Как подметил автор блога http://thinkweb2.com, многие путают когда в Scriptaculous нужно использовать new. Часто спрашивают на форуме: "а почему new Effect.BlindDown('myElement') не работает?".
Вся проблема в том, что в Scriptaculous есть эффекты, которые требуют инстанции класса, а некоторые не требуют - то есть достаточно просто вызвать статичную функцию. Эффекты, которые требуют инстанцию класса, это:
- Effect.Morph
- Effect.Opacity
- Effect.Scale
- Effect.Move
- Effect.Highlight
- Effect.Parallel
Чтобы создать инстанцию этих классов, нужно использовать new.
-
new Effect.Morph('example',{ style:{width:'200px'} });
А вот список эффектов, которые не требуют инстанции класса. Для них new не нужен.
- Effect.Appear
- Effect.Fade
- Effect.Puff
- Effect.DropOut
- Effect.Shake
- Effect.SwitchOff
- Effect.BlindDown
- Effect.BlindUp
- Effect.SlideDown
- Effect.SlideUp
- Effect.Pulsate
- Effect.Squish
- Effect.Fold
- Effect.Grow
- Effect.Shrink
Для этих эффектов достаточно вызвать статичную функцию класса Effect, например:
-
Effect.Shake('id_of_element');
Подробнее про эффекты в Scriptaculous можно почитать (и посмотреть) по этому адресу.
del.icio.us Забобрить!2 Comments so far
Leave a reply
В оригинале лучше сказано имхо. new надо писать только с core-эффектами (список… )
Со всеми остальными не надо (ну и список остальных имеющихся..)
А ты список не заметил?