Geçen yazımızda başladığımız script.aculo.us serüvenine bıraktığımız yerden devam ediyoruz. Bu hafta kütüphanenin efektler bölümünü ele alacağız ve temel efektlerden birer örnek yapmaya çalışacağız.
script.aculo.us kütüphanesinin efektleri, sürükle-bırak, sıralama, otomatik tamamlama gibi işlerinizi kolaylaştıracak kontrolleri ve DOM öğelerini üretebilen özellikleri barındırdığından bahsetmiştik. Bu ay efekt kullanımına değineceğiz. Geçen ayki yazıya ulaşamayanlar pctech.com.tr adresini ziyaret edebilirler.
Geçen ay da değindiğimiz bir iki şeyin üzerinden yine geçelim. Efekt kullanımından standart söz dizimi
1
|
|
şeklindedir. Her efekt için gerekli parametre olmayabilir. İleride efektlere tek tek değinirken kullanılıp kullanılmadığına da yer vereceğiz. Seçenekler de genel veya sadece efekte bağlı olabilir.
Seçenekler bölümünde tüm efektler için ortak parametreler şu şekildedir:
İsim | Açıklama |
---|---|
duration | Efektin saniye cinsinden uygulanma süresi (Varsayılan: 1.0) |
fps | Efekti bir film gibi düşünün. İşte bu ayar efektin saniye başına kaç kare olacağını belirler. Varsayılan 25 . En fazla 100 olabilir. 25’in üstünü zaten insan gözü algılamaz ;) |
transition | Geçişin nasıl olacağınız belirler. Kullanılabilecek değerler: Effect.Transitions.sinoidal (varsayılan), Effect.Transitions.linear , Effect.Transitions.reverse , Effect.Transitions.wobble ve Effect.Transitions.flicker . |
from | Geçişin (transition) başlangıç noktasını belirler. 0.0 ve 1.0 arasında bir değer olabilir (Varsayılan: 0.0). |
to | Geçişin bitiş noktasını belirler. 0.0 ve 1.0 arasında bir değer olabilir (Varsayılan: 0.0). |
sync | Efektin kareleri otomatik olarak gösterip göstermeyeceğini belirler. True değeri verildiğinde efektin render() metodu çağırılarak kareler kontrol edilebilir. Paralel efektinde kullanılır. |
queue | Efektin hangi sırada olacağını belirler. Kullanımına daha sonra değineceğiz. |
direction | Geçişin yönünü belirler. top-left , top-right , bottom-left , bottom-right veya center (varsayılan) değerlerini alabilir ve sadece Grow ve Shrink efektlerinde kullanılabilir. |
Bunlar dışında seçenekler içerisine parametre olarak kendi fonksiyonlarınızı da dahil edebilirsiniz. Böylece efekt çalıştırılmaya devam ederken belirtilen olaylara bağlı olarak sizin fonksiyonunuz da çalıştırılır. Efekt nesnesi fonksiyonunuza parametre olarak geçirilir. Bu sayede efekt nesnesine de erişerek kendi fonksiyonunuzda kullanabilirsiniz. Kullanabileceğiniz olaylar şunlardır:
İsim | Açıklama |
---|---|
beforeStart | Belirtilen fonksiyon efekt gösteriminin döngüsü başlamadan önce çağırılır. |
beforeUpdate | Gösterim döngüsünün her bir tekrarında, değişim gerçekleşmeden önce çağırılır. |
afterUpdate | Gösterim döngüsünün her bir tekrarında, değişim gerçekleştekten sonra çağırılır. |
afterFinish | Efekt gösteriminin döngüsü bittikten sonra çağırılır. |
Kuru kuru bunların ne anlama geldiğini kavramada sorun olabilir o yüzden örneklere geçmeden bir kod örneği verelim.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Fonksiyonunuza parametre olarak geçirdiğiniz efekt nesnesinin erişebileceğiniz tüm özellikleri de şu şekilde:
İsim | Açıklama |
---|---|
effect.element | Efektin uygulandığı sayfa öğesi. |
effect.options | Efekte ait seçenekler. |
effect.currentFrame | Gösterilen son karenin numarası. |
effect.startOn | Efektin başlatıldığı zamanın milisaniye cinsinden değeri. |
effect.finishOn | Efektin bitirildiği zamanın milisaniye cinsinden değeri. |
effect.effects[] | Parallel efektinde her bir alt efektin tutulduğu bir effects[] dizisi bulunur. Her bir alt efekte bu dizi içerisinden erişilebilir. |
Efektler
script.aculo.us kütüphanesi 5 esas efekte sahiptir. Bir de bunların üzerine kurulu çeşitli birleşim efektleri vardır. Bu sayımızda temel efektleri ele alacağız.
Effect.Opacity
Sayfa öğesinin saydamlığını değiştirir.
1 2 |
|
1 2 3 |
|
Öğeye tıklandığında 2 saniye içerisinde (duration: 2.0
) saydamlık %100’den (from: 1.0
) %0’a (to:0.0
) düşecek, yani kaybolacak.
Effect.Scale
Sayfa öğesinin boyutlarını değiştirir. En ve boy ‘em’ birimine göre değiştirilir.
1 2 |
|
Efekte özel seçenekler
İsim | Varsayılan | Açıklama |
---|---|---|
scaleX | true | Yatay olarak boyutlandırma |
scaleY | true | Dikey olarak boyutlandırma |
scaleContent | true | İçeriğin de boyutlandırılması |
scaleFromCenter | false | Öğenin merkez koordinatlarının sabitlenmesi |
scaleMode | box | Öğenin görülebilen bölgesinin boyutlandırılmasını sağlayan box , öğenin tamamının boyutlandırılmasını sağlayan contents değerlerini alabilir. originalHeight ve originalWidth değişkenleri kullanılarak uygulanacak boyutun tam değerleri de verilebilir, {originalHeight: 400, originalWidth: 200} |
scaleFrom | 100.0 | Boyutlandırmanın başlangıç yüzdesi |
1 2 3 4 5 |
|
Bağlantıya tıklandığında yazı %120 oranında büyütülecek.
Effect.MoveBy
Öğe x ve y piksel kadar yer değiştirir.
1 2 |
|
1 2 3 4 5 |
|
Bağlantıya tıklandığında yazı 5 piksel yukarı, 20 piksel de sağa kayacak. Bu arada ekranın sol üst köşesinin (0,0) noktası olduğunu hatırlatalım.
Effect.Highlight
Öğenin arka plan rengini değiştirir, vurgu yapar.
1 2 |
|
Efekte özel seçenekler
İsim | Varsayılan | Açıklama |
---|---|---|
startcolor | #ffff99 | Efekt başlangıcındaki arka plan rengi |
endcolor | #ffffff | Efekt bitişindeki arka plan rengi |
restorecolor | background-color | Efekt bittikten sonraki arka plan rengi. rgb(0, 255, 0) şeklinde belirtilmeli. |
1 2 3 |
|
`
Öğeye tıklandığında arka plan rengi pembeden griye dönüşecek.
Effect.Parallel
Birden fazla efektin aynı anda uygulanabilmesini sağlar.
1
|
|
1 2 3 4 5 6 7 8 9 |
|
MoveBy
ve Opacity
efektleri aynı öğeye uygulanıyor ve efekt bittiğinde öğe gizleniyor.
Bu yazı Aralık 2006 tarihinde PC Tech dergisinde yayınlanmıştır.