Tekil Mesaj gösterimi
Alt 01 Şubat 2006, 12:34   #3
Çevrimdışı
ReMEMBeR
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)



Ders-4: OlaylarEvents
Bugünün dersi Events yani olaylar hakkýnda. Eðer sitenizin epeyi bir interaktiv olmasýný istiyorsanýz kesinlikle Event’lere ihtiyacýnýz var. Events yani olaylarý Javascriptin bir kýsýmlarýný tetikleyenler olarak görünüz. Eðer birisi faresini linklerin üzerinde gezdirirse, "onMouseOver" özelliði ateþlenmiþ olur. Eðer linki týklarsa, bu sefer önce "onMouseDown", sonra ise "onMouseUp" ve "onClick" ateþlenmiþ olur. Derslerin en baþýndaki Javascript örneðini hatýrlarsanýz (Alert-box) orada "onMouseOver" yani "farenin üzerinden gezmesi" eventi karþýlýðýnda o fonksiyon ateþlenmiþ oldu. "onMouse" diye baþlayan event’ler bol biçimde deðiþik menü yapýmýnda kullanýlabilir. Düðmelerin renkleri, yada resimlerin deðiþmesi gibi efektler.
Ve iþte ilk örnek:
Move your mouse here!

<b onMouseOver="yey()">Move your mouse here!</b>
Gördünüz mü? Bir kere fare üzerine geldi&#240;inde ("onMouseOver") ’yey()’ fonksiyonu ça&#240;r&#253;l&#253;yor. "yey()" fonksiyonu ile daha önceden sayfan&#253;n üst k&#253;sm&#253;nda Alert-Box aç&#253;lmas&#253; &#254;eklinde tarif edilmi&#254;ti. Event (olay) tetiklenince hemen Alert-boxda aç&#253;lm&#253;&#254; oldu. Çok yayg&#253;n bir örnekte, resim de&#240;i&#254;iklikleridir. Bugün çok basit bir tanesini görece&#240;iz. A&#254;a&#240;&#253;daki 2 resmi ve "onMouseOver" ile "onMouseOut" efektleri ile a&#254;a&#240;&#253;daki 2 resimde uygulayaca&#240;&#253;z:

Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

&#221;lk sat&#253;rla ba&#254;layal&#253;m:
<img src= "image1.gif">
Resimin bir ismi olmas&#253; çok önemlidir.
&#222;imdi "onMouseOver" ile kodu geni&#254;letelim.
<img src= "image1.gif" name="image1" onMouseOver="document.image1.src= "image2.gif’";>
Olay&#253; bir diyalog gibi hayal edini:
- Git ismi "image1" olan resmi bul.
- Tamam efendim,
- &#222;imdi "image1"in "src"sini "image2.gif" ile de&#240;i&#254;tir,
- Oda tamam efendim, görev bitmi&#254;tir.
- Aferin, güzel i&#254;!
- Te&#254;ekkür ederim!.

San&#253;r&#253;m anlad&#253;n&#253;z. &#222;imdiye kadar ki ile sonuç:

Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

&#222;imdi diyeceksiniz ki, resmi nas&#253;l eski haline getirebiliriz. Az&#253;c&#253;k nefes al&#253;n yahu, nefesinizi tutmu&#254; buraya bak&#253;yorsunuz. Gidin iki tane kahve kap&#253;nda gelin bakal&#253;m.
Kahvenizi ald&#253;ysan&#253;z devam edelim, &#254;imdi art&#253;k ikinci event olan "onMouseOut" kullanma zaman&#253; geldi. (yani fare resmi terkedince orijinal haline dönme i&#254;lemi). &#222;imdi yukardaki koda gerekli ilaveyi yapal&#253;m:
<img src= "image1.gif" name="image1" onMouseOver="documents.image1.src= "image2.gif’"; onMouseOut="document.image1.src= "image1.gif’";>
San&#253;r&#253;m deminki diyalog gibi bir senaryo yazmam&#253;za gerek yok, siz manzaray&#253; çakm&#253;&#254;s&#253;n&#253;zd&#253;r art&#253;k. Olan bir önceki efektin tam tersidir.

Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

Event (olaylar) dersi için bukadar yeter san&#253;r&#253;m. Bu gün bir resmin kayna&#240;&#253;n&#253;n nas&#253;l de&#240;i&#254;tirildi&#240;ini ö&#240;rendiniz. Dersin özetini ç&#253;karmadan önemli noktalar&#253; belirtmek istiyorum.
  • Nesnelere kesinlikle ayn&#253; isimi vermeyin. Ayn&#253; isimli 2 resmin javascriptin çal&#253;&#254;mas&#253;na bir zarar&#253; olmaz (hata mesaj&#253; vermez) sadece bir tanesini belirtmemi&#254; olursunuz. E&#240;er moseover effekti isterseniz, bu sefer ikisi birden de&#240;i&#254;ir :-))
  • Yukardaki örnekte ’image1.gif’ etraf&#253;nda tek t&#253;rnak, geri kalan heryerde "" vard&#253;. E&#240;er "" içinde tekrar t&#253;rnak gerekirse, içerde ’ kullanman&#253;z gerekir. &#222;öyle: " ’ Örnek ’ " veya ’ " Örnek " ’ olabilir.ama kesinlikle " ’ Örnek " ’ veya " " Örnek " " olmamal&#253;. Tamamm&#253;?
Ders-5: Teori: DOMTeori: DOM
document.writeln() ne demektir? Siz ne i&#254;e yarad&#253;&#240;&#253;n&#253; ve ne zaman kullanman&#253;z gerekti&#240;ini biliyorsunuz, ama neden document.writeln() diye adland&#253;r&#253;lm&#253;&#254;t&#253;r? Halbuki print_into_source() gibi daha çok anlam ifade eden bir deyim de olabilirdi.
Bu ve bir çok sorunun cevab&#253; DOM’da (Document Object Model) gizlidir. DOM Javascriptin sayfalar&#253; tan&#253;mlama ve tarif etme &#254;eklidir. Daha sonra bu konuyu açaca&#240;&#253;z.
DOM hakk&#253;nda konu&#254;maya ba&#254;lamadan önce, object-orientated (nesne-yönlendirilmeli) programlamay&#253; tart&#253;&#254;mal&#253;y&#253;z. Biliyorum, bu biraz teknik elemanlar&#253;n anlayaca&#240;&#253; &#254;eyler gibi duruyor ama öyle de&#240;il. Object-orientated programlaman&#253;n en az&#253;ndan Javascript taraf&#253;n&#253; çözmek için fazla teknik olmaya gerek yok. Object-orientated programlaman&#253;n ard&#253;ndaki esas fikir, bilginin nesnel terimler halinde saklanmas&#253;d&#253;r. Örne&#240;in, window bir object’dir (nesne).
Daha da açacak olursak: Object’ler objectlerin nas&#253;l davranacaklar&#253;n&#253; tarif eden özelliklere sahiptirler. Bu özellikler, objectlerden bir "." (nokta) ile ayr&#253;lm&#253;&#254;t&#253;r. Ne demek istedi&#240;imi anlad&#253;n&#253;z de&#240;il mi? Bir örnek:
window.status = "Hey, orada neler oluyor?!";
Bu browser penceresinin status-bar’&#253;na (pencerenin alt&#253;ndaki gri sat&#253;r) Hey, orada neler oluyor?! diye yazacakt&#253;r. Gördü&#240;ünüz gibi "window" burada object oluyor, "status" ise özelli&#240;i. Metnin string’i ( Hey, orada neler oluyor?! ) ise özelli&#240;i tarif ediyor.
Özelliklere ilave olarak nesnelerin bir de metodlar&#253; vard&#253;r. Bu metodlar da neyin nesi, bunlar&#253; ö&#240;renmemiz &#254
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
m&#253;? diyebilirsiniz. Metodlara örnek,

alert(), writeIn() veya open(). Özellikler (properties) gibi metodlar da objectlerden bir "." (nokta) ile ayr&#253;l&#253;rlar.
document.writeln(’I know JavaScript!’)
Property (özellik) ve metodlar aras&#253;ndaki esas fark, metodlar her zaman 2 tane parantez taraf&#253;ndan takip edilirler. Parantezlerin içine ise parametreleri koyars&#253;n&#253;z. Örne&#240;in alert() parantezlerinin içine alert-boxda ç&#253;kmas&#253;n&#253; istedi&#240;iniz yaz&#253;lar&#253; koyars&#253;n&#253;z. writeln() metodu parantezi içine yaz&#253;lan string ise HTMLye yazd&#253;r&#253;l&#253;r.
Devam etmeden önce son bir &#254;ey: window herzaman varsay&#253;lan object’dir. Örne&#240;in window.status yazmayla sadece status yazmak aras&#253;nda bir fark yoktur. Gerçek programc&#253;lar genelde yaln&#253;z status yazarlar, ama biz ilerde kaybolmamak için uzun haliyle yazsak daha iyi olur san&#253;r&#253;m.
Özetlersek: &#222;imdiye kadar object’lerin görünümlerini tarif eden properties (özellikleri) oldu&#240;unu ö&#240;rendik. Ayr&#253;ca biliyoruz ki metodlar bir &#254;eyin nas&#253;l yap&#253;laca&#240;&#253;n&#253; tarif ederler. Sonra window’un varsay&#253;lan object oldu&#240;unu ö&#240;rendik, istersek window’u kodumuza dahil etmeyebiliriz.
K&#253;sa özet için bu kadar yeter. &#222;imdi ba&#254;ka bir ilginç yan&#253;na bakal&#253;m:
Objectlerin özellikleri de object olabilir!.. Bir önceki derste resimlerin dönü&#254;ümünü hat&#253;rl&#253;yormusunuz? "image1"in kayna&#240;&#253;n&#253; window.document.image1.src = ’whatever.gif’ &#254;eklinde göstermi&#254;tik. Dikkat ederseniz, document gerçekte bir property (özellik) olamaz, çünkü özellikler kendilerini tarif eden bir &#254;ey taraf&#253;ndan takip edilmelidir. Ayn&#253;s&#253; image1 içinde geçerlidir. San&#253;r&#253;m art&#253;k tahmin etmi&#254;sinizdir yukardaki örnekte src’un property (özellik) oldu&#240;unu. Gördü&#240;ünüz gibi document ve image1 her ikiside nesne içinde nesnedirler. Anlad&#253;n&#253;z san&#253;r&#253;m (k&#253;sa içeri&#240;in uzun tarifi).

Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Umar&#253;m yukardaki resmin nedemek istedi&#240;ini anlad&#253;n&#253;z, yeterince &#221;ngilizce gördü&#240;ümüz için etiketleri Türkçele&#254;tirmedim. Çok profesyonel bir reesim de&#240;il ama, resimde DOM’u bir a&#240;aç &#254;eklinde görüyorsunuz, window nesnesi ise a&#240;ac&#253;n kökünde oluyor.
- &#221;yi ama sen bize window nesnesine gerek yok demi&#254;tin
- Evet ama bu window nesnesinin DOM’da olmad&#253;&#240;&#253; anlam&#253;na gelmez.
- Peki kullanmak zorunda de&#240;ilsem neden DOM’un içerisinde?
- Çok basit, &#254;öyle dü&#254;ün: A&#254;a&#240;&#253;daki resim güzel durur mu? Onun için window’u ke&#254;fettiler.:-)


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
"window nesnesi köktür". Oradan, ilk özellikler, metodlar ve nesneler grubuna t&#253;rman&#253;r&#253;z. Daha yukar&#253; t&#253;rmanmak bizi bir ba&#254;ka özellikler, metodlar ve nesneler grubuna götürür. Bunun hepsi önceden tasarlanm&#253;&#254;t&#253;r. Aniden writeln() komutunu yazamazs&#253;n&#253;z, önceden nesnesini ve yerini belirtmelisiniz.

Devamı ALtta ..

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet bizimmekan