Ajax Russia : Аякс по-русски

Свежие новости из мира IT

Scriptaculous - когда же использовать new?

script.aculo.us - web 2.0 javascriptКак подметил автор блога http://thinkweb2.com, многие путают когда в Scriptaculous нужно использовать new. Часто спрашивают на форуме: "а почему new Effect.BlindDown('myElement') не работает?".

Вся проблема в том, что в Scriptaculous есть эффекты, которые требуют инстанции класса, а некоторые не требуют - то есть достаточно просто вызвать статичную функцию. Эффекты, которые требуют инстанцию класса, это:

  • Effect.Morph
  • Effect.Opacity
  • Effect.Scale
  • Effect.Move
  • Effect.Highlight
  • Effect.Parallel

Чтобы создать инстанцию этих классов, нужно использовать new.

JavaScript:
  1. 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, например:

JavaScript:
  1. Effect.Shake('id_of_element');

Подробнее про эффекты в Scriptaculous можно почитать (и посмотреть) по этому адресу.

del.icio.us Забобрить!

2 Comments so far

  1. vectoroc October 11th, 2007 01:39

    В оригинале лучше сказано имхо. new надо писать только с core-эффектами (список… )
    Со всеми остальными не надо (ну и список остальных имеющихся..)

  2. Aleksandr October 11th, 2007 01:50

    А ты список не заметил? :)

Leave a reply