Nedir bu JQuery?
Javascript’le sayfalarca kod yazmaktan çok mu yoruldunuz.Hatta birnesneyi belirtirken bile çok mu uğraşıyonuz.Bu kadar uğraşmak istemiyorsanız JQuery tam da sizin için.
Yani kısacası Javascript’le yazılacak sayfalarca kod yerine 10 satırlık kod yazabilirsiniz.
Nasıl Çalışır?
JQuery’yi çalıştırmanız için gereken tek şey JQuery’nin son versiyonuna ait dosyayı indirmek.
Buradan indirebilirsiniz.
Başlangıç
JQuery’yi indirdik.Şimdi iş zamanı:
|
|
|
|
Yukarıda bir ready fonksiyonu yazdık yani sayfa yüklendiğinde fonksiyonu.Bu fonksiyonu her zaman yazmanızı öneririm. Çünkü JQuery’nin dörtte üçünü kullanabilmek için bu fonksiyon kullanılmalıdır.
Seçiciler(Selectors)
Javascript’te nasıl yapıyorduk bu işi;
|
|
ohoo daha çok yazılır böyle.Ama JQuery sağolsun şu şekilde yapabilirsiniz:
|
|
bu kadar mı?Evet arkadaşlar asd id’sine sahip nesnemizi böyle çağırıyoruz.Ayrıca:
|
|
bu da “herhangi_bir_class” class’ına sahip nesnemizin tanımı.
JQuery’de CSS
Arkadaşlar JQuery CSS alanında bize o kar büyük bir kolaylık sağlıyor ki.Yine Javascript le karşılaştırma yapalım.
Javascript kodu:
|
|
|
|
Eğer ben tek özellik belirleyeceğim diyorsanız:
|
|
gibi kısa bir kullanımı da mevcut.
JQuery’de Başlatıcılar
Bir aralar HTML taglarına onmouseover , onclick , onfocus gibi başlatıcılar yazardık.Bunlarda fonksiyon belirtip olaya göre fonksiyonu başlatırdık.Bana göre bu hem kod sayfamızın düzenini bozar hem de sayfamızın js kodlarında hangi fonksiyonların ne iş yaptığını anlamak için html taglarına bakmamız gerekir.Bunun yerine js sayfamızda yazsak çok daha güzel olur.
İşte ready fonksiyonunu burda kullanmamız gerekecek.
|
|
Kodun açıklaması şu: “asd” id li nesnenin üzerine gelindiğinde bu nesnenin “margin-left” ini 170px yap.
Yukarıda $(this) ibaresini görüyorsunuz.Bu belirteç fonksiyon nesnesini temsil eder.Burda “asd” id’li nesneyi temsil ediyor.
Mouseover gibi birçok başlatıcı da mevcut.Bunlar:
click
mouseover
mouseout
focus
load (body tag’ı için geçerli)
dblclick
blur
yani anlayacağınız html taglarında yazdıklarınızdan “on” u çıkarın ve yazın.
Not : submit javascript’te formu gönder komutu olduğu için başlatıcı olarak kullanılamaz.
JQuery'de Özel Efektler
Show ve Hide özel efekti
Evet.Şimdi javascript'in kısaltılmışı diyoruz.Bunun yanında hazır kalıplarıyla da meşurdur JQuery.Bunlara örnek olarak özel efektler verilebilir.
|
|
JQuery'de animate fonksiyonu
show,hide birer animasyon fonksiyonudur.Fakat bunlarda yapılan hareketlere biz karışmadık.
Fakat animate fonksiyonu ile yapılan hareketleri bunların kaç saniyede yapıldığını biz ayarlayabiliriz.Bunun için css kullanacağız.
İlk önce aşağıdaki kodları inceleyen:
|
|
_Genişliğini 200px
_Yüksekliğini 300px
_Sola uzaklığını 500px olarak ayarla.
Bunu yaparken hepsini orantılı biçimde yap.Yani bu bize nesnenin bir animasyon gibi hareket etmesini sağlar.
3000 milisaniye cinsindendir yani 3sn.Nesne 3sn.de hareketini tamamlar.Bunun yerine "slow" ya da "fast" yazabilirsiniz.
JQuery nin en sevdiğim özelliği de budur zaten.Javascript olsa bir döngü yazacaksın, zamanlayıcı koyacaksın,her bir özelliği ayrı ayrı döngülere sokacaksın...Ohoo daha çok kod yazılır.Ama JQuery 2-3 satır kod.
addClass ve removeClass
JQuery CSS alanında birçok kolaylıklar sunmakta bunlardan biri de nesneye class verme özelliğimizdir.
|
|
Evet şimdi açıklayalım."asd" id li nesnemizin üzerine fare ile geldiğimizde nesnenin class’ı "yeni_bir_class" olacak üzerinden gittiğimizde ise bu class silinip nesne eski halini alacaktır.
Evet JQuery nin en önemli fonksiyonlarını öğrenmiş olduk.Gördüğünüz hazır JQuery script'leri bunların dışında hiçbir fonksiyon kullanmıyor.
Sorusu olan arkadaşlar yorumda sorabilir.
önceki yazı XHTML ve CSS ile Tema Hazırlayalım |
sonraki yazı Ajax İle E-Posta Listesi Yapımı |
javascript bu kütüphaneler sayesinde flash'a bir adım daha yaklaştı. yakında canvas özelliği de yaygınlaşırsa çok büyük fark kalmayacak flash ile arasında. sadece flash ile sistem kaynaklarına belirli izinlerle erişilebilirken javascript ile bunu yapamıyor olacağız. ama belli mi olur, belki bir gün browserlar bu desteği de emektar javascripte sunarlar..
Chrome'un yeni projesiyle artık bu da mümkün olacak. Chrome tarayıcısına Native Client adında bir özellik ekliyor ve oyunlar vs. yi bilgisayar işlemcisi üzerinde çalıştırabiliyor :)
ama aynı şey değil. ben yılların emektarı javascriptten bahsediyorum. sizin verdiğiniz örnekte c, c++ gibi derlenebilir diller kullanılıyor. javascript derlenmez yorumlanır ve yorumlanan bir dilin sistem kaynaklarına erişmesinden bahsediyorum. tıpkı şuan bunu yapabilen action script betik dili gibi...
Javascript içinde olabilecek diye hatırlıyorum. Tekrardan bakarım.
Sevgiler...
javascript'e böyle bir özelliklik sunulacağını sanmıyorum.Olsa bile javascript tabanlı olmaz veya olamaz.Yeni bir dil.Tarayıcılara yeni özellik.Bu mümkün olunca web sektöründe çok büyük bir patlama yaşanacaktır.
Birşey değil.Faydalanmış olmana sevindim.
Ya hani oluyor ya sol oka tıklayınca sola, sağa oka tıklayınca sağa kayıyor.
jQuery ile mi yoksa ajax ile yapılıyor, nasıl yapılıyor :)
Ajaxı da işin içine katabilirsin jqueryide. Ajax bir browser metodudur. Sayfayı yenilemeden başka yerden veri çekmeni sağlar. Bunda yapılması gereken şey :
iconların göründüğü alanı cssten overflow:hidden; yap. Alanın clientWidth'inin yarısını al ve sağa ise sağa sola ise sola alanın yarısı kadar kaydır.
@Qomer istediğini şu jquery plugini ile kolayca yapabilirsin.
edit: demolarıda ekledim.
Canvas derken, bir kaç tane canvasımsı çizim kütüphanesi çıkmıştı. İnanılmaz şeyler yapmışlardı javascript ile. Bildiğiniz fizik motoru. Topu yuvarlıyorsunuz ve kutuları deviriyor hepsi o çarpmanın etkisi ile bir yana dağalıyor falan. Hatırlayamadım ama şimdi ne yazık ki adresi :(
Ömer bu arada ne hoş bi tasarım o, tüm siteyi nasıl merak ettim bilemezsin :)
Bu tür fizik motorlarını nasıl yapıyor olabilirler?
Çok güzel bir ders olmuş sundowatch, bana çok yardımcı oldu. Teşekkürler.
document.getElementById(”asd”); tam karşılığı $("#asd") değil $("#asd")[0]'dir ;)
id'sini benim dediğim gibi seçebiliyor musun?Seçebiliyorsun. Sorun ne?
Seçemezsin. Bir object arrayi elde edersin öyle, ve istediğin elemana ulaşmak için kaçıncı eleman olduğunu belirtmen lazım. ID aslında unique olduğundan da [0] diye ilk eleman olduğunu belirtmelisin. Kısaca iş sadece jquery'nin id'yi unique görmemesinden kaynaklanıyor.
jquery'nin selectorleri diğer frameworklerden oldukça hızlı o yüzden document.getelementbyid yapmak yerine $("#id"); yapmanız her zaman sizin için daha iyi olacaktır.
unutmayın microsoft jquery'yi seçti.
getelementbyid'den daha hızlı olabileceğini hiç mi hiç sanmıyorum. aksine çok daha yavaş olduğunu düşünüyorum. diğer js fw'lerinden hızlı olabilir tabi ama getelementbyid native js fonksiyonu.
edit: ayrıca getelementbyid bir id'yi bulduğunda 2. idyi aramazken jquery 2. 3. 4. gibi diğer elemenları da arıyor. En azından array object return etmesinden bunu düşünüyorum.
Eğer sadece bir tanesini seçeceksen dediğin doğru ama tamamını seçeceksen benim dediğim doğru.
Mesela:
$("#asd").css("opacity",".5");
çalışır ve asd id'sine sahip elementlerine etkir.
Ayrıca getelementbyid ile $("#") yapmak arasında büyük bir fark olacağını sanmıyorum. Saniselerle konuşacaksak hiç class veya kütüphane kullanmayalım.
@Frosten "unutmayın microsoft jquery'yi seçti." diyerek jquery için kötü reklam yapıyorsun burada şimdi. :) soğudum sanki bir an..
@sinanp jQuery'i seçen seçmiş zaten microsoft seçse ne yazar seçmese ne yazar.
Hem sadece microsoft seçmemiş jQuery anasayfasında google,dell,nbc gibi önemli isimlerin kullandığı da yazıyor:)
Ayrıca jQuery 1.4 versiyonunun yeni özelliklerini öğrenmek için "Yepyeni özellikleriyle jQuery 1.4" adlı makalemi okuyabilirsiniz.
pillinetwork sitelerine yorum ekleyebilmek ve daha fazlası için, üye olun ya da giriş yapın.
Nokta ve pilli ortak yapımı olan kodaman.org hep birlikte içerik üretip gelirini yazarları ile paylaştığımız kolektif bir kod yazarları blogudur. Siz de katılabilirsiniz.