Script.aculo.us ile Açılır Kapanır Menü

AJAX & Hazır Kütüphaneler Cumhur KORKUT

Merhaba arkadaşlar, ben Cumhur Korkut. Yeni bir yazar olarak ilk yazım çok iyi bilmediğim, uygulamalarınıza güzel efektler katmanızı sağlayan Script.aculo.us hakkında olsun dedim. İlk konum, herkesin hoşuna gidecek diye tahmin ediyorum. Gerçi sır saklar gibi konuşmaya gerek yok, zaten başlıktan konumuzu gördünüz, açılır kapanır menü. Tabii bunun nasıl bir şey olduğunu tam anlayamadınız, ama daha uygun bir başlık bulamamıştım.

Script.aculo.us ile açılır kapanır menü… İşte başlıyoruz:

NOT: Bize sadece Script.aculo.us yetmiyor. Ayrıca combo.js adında bir dosyaya da ihtiyacımız var. Bunun kodlarını da veriyorum:

PHP:
  1. Effect.OpenUp = function(element) {   element = $(element);   new  Effect.BlindDown(element, arguments[1] || {});   }
  2.  
  3. Effect.CloseDown =  function(element) {   element = $(element);   new Effect.BlindUp(element,  arguments[1] || {});   }
  4.  
  5. Effect.Combo =  function(element) {   element = $(element);   if(element.style.display  == 'none') {    new  Effect.OpenUp(element, arguments[1] || {});    }else {    new  Effect.CloseDown(element, arguments[1] || {});    }   }

En sonunda başlıyoruz. Bize bu projede az önce verdiğim combo.js dışında prototype.js ve effects.js de gerekli. Bu dosyaları da temin ettikten sonra HTML dosyamızı yazalım:
NOT: İsterseniz hazır sayfaya da monte edebilirsiniz ama önce yeni baştan sayfa oluşturarak işi kavrayalım.

PHP:
  1. <html>
  2. <head>

Bu kodlarla HTML’yi açıyor ve HEAD kısmına geliyoruz. Şimdi gerekli JS kütüphanelerimizi sayfamıza davet edelim ve HEAD’i kapatalım

PHP:
  1. <script type="text/javascript" src="js/prototype.js"></script>
  2. <script type="text/javascript" src="js/effects.js"></script>
  3. <script type="text/javascript" src="js/combo.js"></script>
  4. </head>

NOT: Ben burada bu kütüphaneleri “js” adında bir klasöre koydum, siz de bu kütüphane yollarını kendinize uygun olarak değiştirin.

BODY’yi açalım ve içeriği ortayalayım(isteğe bağlı):

PHP:
  1. <body>
  2. <center>

Açılıp kapanacak DIV’imizi oluşturalım. Ben örnek olarak “reklam” adını verdim. Siz de uygulamalarınızda içeriğe göre isim verebilirsiniz. Ayrıca içine de istediğiniz içeriği yerleştirebilirsiniz. Bu bir menü de olabilir, grafik de, yazı da:

PHP:
  1. <div id="reklam"><img src="http://ajax-tr.com/wp-content/themes/ajax-tr/images/bg-header.jpg" /></div>

DIV’i oluşturduktan sonra bunun açılıp kapanması için bir olayın olması gerek. Ben bir linke tıklanmasını tercih ettim. Linki oluşturduktan sonra ortalamayı da kapatalım:

PHP:
  1. <a href="javascript:Effect.Combo('reklam', {duration: 0.5});">Aç  Kapa</a>
  2. </center>

NOT: “duration” özelliğiyle açılıp kapanma hızını belirtebilirsiniz.

BODY’i ve HTML’yi kapatıp sayfayı tamamlayalım:

PHP:
  1. </body>
  2. </html>

Tüm sayfanın kodlarını da şu şekilde verelim:

PHP:
  1. <html>
  2. <head>
  3. <script type="text/javascript" src="js/prototype.js"></script>
  4. <script type="text/javascript" src="js/effects.js"></script>
  5. <script type="text/javascript" src="js/combo.js"></script>
  6. </head>
  7.  
  8. <body>
  9. <center>
  10. <div id="reklam">
  11. <img src="http://ajax-tr.com/wp-content/themes/ajax-tr/images/bg-header.jpg">
  12. </div>
  13.  
  14. <a href="javascript:Effect.Combo('reklam', {duration: 0.5});">+ / -</a>
  15.  
  16. </center>
  17. </body>
  18. </html>

Uygulamayı test etmek için tıklayın!

Uygulamanın örneğini indirmek için tıklayın!

Bu kadar basit olacağını düşünmüyordunuz değil mi? Neyse, ilk dersimizi başarıyla tamamladık. Umarım ilk yazımı keyifle okumuşsunuzdur. – sanki hikaye yazmışım gibi :P – Neyse, dileğimi değiştirip veda edeyim:
Umarım bu ders işinize yaramıştır. Hepinize iyi günler!
Cumhur KORKUT

Toplamda 8654 kez okunmuş.
Şu an 1 kişi okuyor.
En fazla 7 kişi aynı anda okumuş.
Bugün 23 kez okunmuş.

Etiketler:

1 oy2 oy3 oy4 oy5 oy (21 oy, ortalama 4.38) Oylanıyor ... Oylanıyor ...

  1. PHP ve Yerleşik DOM Sınıfları
  2. Javascript Sanal Klavye Yapalım
  3. Ajax Olmasaydı Ne Yapardık ? :)

Trackback Yorumları takip et Baskı Önizleme

26 yorum var

  1. # UMUT ÇETİNKAYA | 04 Ağustos 2007, 13:48 Gravatar

    Ellerine Sağlık Çok Güzel bir uygulama ama benim anlamadığım acıp veya kapatırken en son bı anda tamamı gorunup acılıyor kapanıyor denediğimizde goruyoruz nedendır acaba ?

  2. # nahnu | 04 Ağustos 2007, 21:19 Gravatar

    peki açıkken (-) yapalıyken de (+) çıkmasını, veya bunların yerine birer imaj koymayı nasıl yapacağızdır ?

  3. # yakuter | 04 Ağustos 2007, 23:22 Gravatar

    @Umut dediğin hatayı ie’de veriyor ve malesef sebebini tam olarak bilemiyorum :( Ben daha çok JQuery kullanmayı seviyorum. Bir de efekt konusunda genelde Mootools daha çok tavsiye ediliyor. Bir ara onu da inceleyip yazmayı düşünüyoruz.

    @nahnu, sorunun cevabını bundan sonraki makale olan Script.aculo.us Kopya Kağıdı‘nda verdim. Oraya örnek bir kod yazdım. Göster ve Kapat resimleri ile “reklam” divini gösterip kapatmayı görebilirsin. Kütüphaneye hakim olmadığım için fazla detaya inemedim ama kopya kağıdında güzel şeyler var, bir bak istersen.

  4. # Hakan ERSU | 06 Ağustos 2007, 17:00 Gravatar

    Gerçekten güzel bir yazı olmuş ama bu tarz efektler için Script.aculo.us yerine bence daha basit ve küçük boyutlarda kütüphaneler kullanmak daha ideal olabilir.Mootools bile eğer sadece bu efekt için kullanılacaksa boyut olarak büyük olabilir.Kullanım kolaylığı ve boyutları nedeniyle eğer sadece bu efekt üzerine kurulu bir sisteminiz varsa SimpleJs tavsiye ediyorum.

  5. # yiGit | 09 Ağustos 2007, 17:01 Gravatar

    peki sayfa ilk açıldığında bu menü’nün kapalı olarak açılmasını nasıl sağlarız?

  6. # yiGit | 09 Ağustos 2007, 17:35 Gravatar

    Sayfa açıldığında menü’nün kapalı olarak açılmasını sağladım..
    Yapmışken başkaları da sorabilir diye ekliyeyim..
    div tag’inin devamına style=”display:none;” eklediğimiz zaman menümüz kapalı olarak geliyor

  7. # Hakan ERSU | 09 Ağustos 2007, 23:29 Gravatar

    Bu scirptte tam olarak işe yararmı bilmem ama katmana style=’display:none;’ ifadesini vermek yeterli olabilir.
    Ayrıca http://www.mibhouse.org/pokemon_jojo/dev/test-pbbsidebar.html buna da göz atabilirsiniz.

  8. # ßerat | 13 Ağustos 2007, 14:43 Gravatar

    Teşekkürler arkadaşlar ;)

  9. # sesebian | 15 Ağustos 2007, 15:41 Gravatar

    Ana dizine gönderilecek 3 dosyayı Ftp dışında nerden gösterebiliriz, örnek blogger için?

  10. # ismail sait | 22 Ağustos 2007, 11:11 Gravatar

    Merhaba bu örneği kullandım fakat sizin vermiş olduğunuz demodada olduğu gibi açıp kapatırken bir sekme söz konusu ve hiçde hoş durmuyor acaba bu sekme neden kaynaklanıyor yardımcı olurmusunuz ? benim örneği kullandığım yer http://new.askcell.com/img.asp?img=14 buradaki yorum yap linkine tıklarsanız görürsünüz ;)

  11. # » Blogunuza hızlı yorum yazma ekleyin | 22 Ağustos 2007, 17:37 Gravatar

    […] Arkadaşım nucrotion ile beraber bulup beraber yaptığımız bu minik sistem sayesinde blogumuzu gezen misafirlerimiz ekstra bir sayfaya girmeden direk index.ten yazılara yorum yazmalarını sağlıyor . Bana soracak olursanız tek sorun blogunuzu biraz yavaşlata bilecek olması . Çok fazla hissedilmiyor ama tabi temadan temaya değişir . İlk olarak blogumuzda şu ajax-tr deki açılır kapanır menü scripti‘nin yüklü olması gerek . Çünki yorumları ana sayfamızda bu kod ile açıp kapatacağız . Eğer bu scripti yüklediyseniz veya yüklüyse devam edebiliriz. […]

  12. # Harun | 24 Ağustos 2007, 06:24 Gravatar

    Bu efecti kolaylıkla effect.toggle ile yapabilirsin yalnız.
    bu kadar uğraşmaya gerenk yok …

  13. # TaneR | 04 Eylül 2007, 22:36 Gravatar

    ben bu açılır kapanır menü olayını yazılarımda nasıl yapabilirim.Yani anasayfamda sadece yazıların başlıkları görünsün,tıklayınca yazı açılsın istiyorum.Yapabilirmiyim,yardım ederseniz sevinirim.

  14. # sportmeen | 05 Eylül 2007, 12:35 Gravatar

    konuyu biraz daha açıklasaydık daha iyi olurdu çünkü ben pek bişe anlamadım combo.js, effects.js, combo.js dosyaları nerde içerikleri ne bunları açıklasaydınız daha güzel olurdu diyorum yine de teşekkürler

  15. # ergin | 23 Eylül 2007, 01:42 Gravatar

  16. # yusuf | 14 Ekim 2007, 19:34 Gravatar

    Bu basit mi. tabi basit. yapılan tek şey kopyala yapıştır. en azından bizim için. peki arkadaşlar effects.js diye bi dosya var. içinde de bi dünya kod var. biz onu nası yazacaz onu bi deseniz tam süper olur. kopyalamak kolay ama daha güzeli var kendin yapabilmek.

    yinede sağolun. ayrıca site süper

  17. # ali sami | 19 Ekim 2007, 13:01 Gravatar

    tşk arkadaşlar…

  18. # neXus | 25 Ekim 2007, 19:58 Gravatar

    @yusuf, o dosyada önceden birinin bizim kullanmamız için yazdığı kodlar var. o dosyayı sıfırdan yazmadan önce o dosyayı kullanarak birşeyler yapmak en iyisi. yani sadece kopyala yapıştır yapma, o dosyayı kullanarak başka şeyler yap :) çünkü onu sıfırdan yazmak çok kolay degil :)

  19. # abdullah | 08 Kasım 2007, 15:42 Gravatar

    prototype.js ve effects.js
    ben bunları nerden temin edebilim

  20. # görsel | 27 Kasım 2007, 16:36 Gravatar

    abicim iyi güzel de örnekler çalışmıyor.

  21. # Cumhur KORKUT | 01 Aralık 2007, 18:17 Gravatar

    effects.js ve prototype.js’yi script.aculo.us paketinden temin edebilirsiniz:
    http://script.aculo.us

  22. # Alp | 04 Aralık 2007, 19:54 Gravatar

    ac kapa olmadı arkadaslar

  23. # ramazan | 10 Aralık 2007, 23:05 Gravatar

    uygulamayı test etmek için yazdıgınız link çalışmıyor..

  24. # ugur | 21 Aralık 2007, 23:02 Gravatar

    merhaba
    ilk önce teşekkür ederim fakat bişey sormak istiyorum
    kullandığımız resim ilk önce kapalı biz basınca acılsın nasıl yapabiliriz??

  25. # JasepH | 07 Ocak 2008, 03:45 Gravatar

    Epey uğraştım ama sonunda yaptım teşekkür ederim üstad iyi bir anlatım olmuş

  26. # serkan | 08 Şubat 2008, 22:40 Gravatar

    teşekürler…

Yorum yazın

sayfa sayacı