2. Jquery Giriş
Az kodla çok iş yapmayı sağlayan bir kullanıcı tarafında
çalışan bir kütüphanedir.
İstemci tarafında yazılan JavaScript kütüphaneleri azaltak
amaçlarından biridir, tek satır kodla onlarca satır
Javascript kütüphanesinin yaptığı işi yapabilirsiniz.
HTML/DOM manipülasyonu, CSS manipülasyonu, HTML
olay metodları, efekt ve animasyonlar, AJAX
Her türlü ortamda, Mobil, Tablet PC vs. sorunsuz
çalışmaktadır.
Birçok site Google, Microsoft, IBM, Netflix Jquery
kullanır.
3. Jquery Giriş
http://jquery.com/ adresinde ücretsiz olarak indirilebilir.
Jquery.min.js kütüphanesi minimize edildiğinden hızlı
yüklenir, Jquery.js kütüphanesi ise geliştiriciler için full source
code içerir.
Normal Çağırım
<script src="jquery-1.8.3.min.js"></script>
Google CDN
<script src="//ajax.googleapis.com/ajax/libs/
jquery/1.8.3/jquery.min.js"> </script>
Yükleme zamanı açısından CDN kullanmak daha avantajlıdır.
Tarayıcının ön bellek-cache bölgesinde daha önce ziyaret ettiği
popüler sitelerden bu kütüphaneler indirilmiştir.
4. Jquery Kullanım (Syntax)
Jquery HTML elementleri (tag’lerini) seçerek onlara
kolayca eylemler uygulayabilir.
Kullanım şekli aşağıdaki gibidir.
$(selector).action()
Örnek kullanım şekilleri;
$(this).hide() – mevcut elementi gizler.
$("p").hide() – tüm <p> elementlerini gizler.
$(".bul").hide() – bul isimli tüm class
elementlerini gizler.
$("#bul").hide() –Tüm bul isimli id’leri gizler..
5. Document ready olayı
$(document).ready(function(){
// jQuery metodları buraya...
});
Örneklerimizdeki tüm kodlar document.ready olayının
içerisinde meydana gelecek.
Bu işlem doküman yüklenmeden Jquery kodlarının çalışmasını
engeller. Aşağıdaki örnekler doküman yüklenmeden çalıştırılan
ve hata ile sonuçlanacak durumlara örnek verilebilir;
- Oluşturulmayan bir elementin gizlenmeye çalışılması,
- Yüklenmeyen bir resmin boyutlandırılmaya çalışılması gibi..
6. Jquery Selector
Jquery selector(seçicileri) ile HTML elementlerini
değiştirebilirsiniz.
Jquery’de tüm seçiciler dolar işareti ve parantezle
başlar. $(), Örneği p elementini seçmek için $("p")
7. Jquery Olay Sözdizimi (Syntax)
Bir paragrafa tıklanması olayına ilişkin syntax
şöyledir.
$("p").click();
Sonraki adım olay ateşlendiğinde (gerçekleştiğinde)
ne olacağıdır. Bunun için olaya bir fonksiyon
parametre olarak geçirilir.
$("p").click(function(){
//burada eylemler yer alır.
});
9. Paragrafa tıklayınca gizleme
<!DOCTYPE html>
<head>
Buraya önceki sayfadaki Jquery kodlarını yazınız.
</head>
<body>
<p>Buraya tıklarsanız ben kaybolurum.</p>
<p>Lütfen tıklayın!</p>
<p>Buraya da tıklayın!</p>
</body>
</html>
10. id seçicileri
#id seçicileri HTML tag’i içinde belli bir elemente
ulaşmak için kullanılır. Bildiğiniz gibi #id’ler eşsiz
olmalıdır, yani aynı isimde birden fazla olamaz.
Aşağıdaki kodda butona tıklanınca #bul isimli id
gizleniyor.
$(document).ready(function(){
$(":button").click(function(){
$("#bul").hide();
});
});
12. Seçiciler
$("*") Tüm elementleri seçer.
$(this) Aktif HTML elementini seçer.
$("p.giris") Tüm class="giris" elementlerini seçer.
$("p:first") ilk <p> elementini seçer.
$("ul li:first") HTML’de ilk <ul> elementinin ilk <li>
elementini seçer.
$("ul li:first-child") Her bir <ul> elementinin ilk <li>
elementini seçer.
$("[href]") Burda href özelliğine sahip tüm
elementleri seçer.
13. Seçiciler
$("a[target='_blank']") Tüm <a> elementlerinde
target özelliği "_blank" e eşit olanları seçer.
$("a[target!='_blank']") Tüm <a> elementlerinde
target özelliği "_blank" e eşit olmayanları seçer.
$(":button") Tüm <button> elementlerini seçer, yani
<input type="button"> olanları seçer.
$("tr:even") Tüm çift <tr> elementlerini seçer.
$("tr:odd") Tüm tek <tr> elementlerini seçer.
14. Olaylar (Events - Actions)
Farklı ziyaretçilerin yaptıkları eylemlere web sayfasını
cevap vermesi olay olarak adlandırılır.
Örneğin;
- Bir farenin bir HTML elementi üzerinde gezdirilmesi,
yani mouse over olayı
- Bir radyo düğmesinin seçilmesi,
- Bir onay kutusuna tıklanması.
• Yukarıdaki olayların herbirinde bir ateşleme(fire)
meydana gelir.
15. Bazı DOM Olayları
Mouse olayları:
click, dblclick, mouseenter, mouseleave
Klavye Olayları:
keypress, keydown, keyup
Form olayları:
submit, change, focus, blur
Document/Windows Olayları
Load,resize, scroll, unload
16. En çok kullanılan metodlar
$(document).ready() Daha önce açıklandı.
click()
$("p").click(function(){
$(this).hide();
});
dblclick()
$("p").dblclick(function(){
$(this).hide();
});
• mouseenter()
$("#p1").mouseenter(function(){
alert("p1 elementine tıkladınız!");
});
17. En çok kullanılan metodlar
mouseleave()
$("#p1").mouseleave(function(){
alert("Güle güle, p1 elementinden ayrıldınız!");
});
mousedown()
$("#p1").mousedown(function(){
alert("p1 elementinin üzerine tıkladınız!");
});
• mouseup()
$("#p1").mouseup(function(){
alert("p1 in üzerine tıklanıp bırakıldı!");
});
18. En çok kullanılan metodlar
hover() Bu metod aslında mouseenter() ve
mouseleave() fonksiyonlarının birleşimidir.
$("#p1").hover(function(){
alert("p1 elementine gelindi!");
},
function(){
alert("Güle güle! p1 elementinden ayrıldınız!");
});
• focus() Bir HTML elementine odaklanıldığında işler.
$("input").focus(function(){
$(this).css("background-color","#cccccc");
});
19. En çok kullanılan metodlar
blur() HTML elementini focus olayını kaybettiğinde
ateşlenir.
$("input").blur(function(){
$(this).css("background-color","#ffffff");
});
hide() ve show() metodları
$("#hide").click(function(){
$("p").hide();
});
$("#show").click(function(){
$("p").show();
});
20. show() ve hide() metodları
$(seçici adı).hide(hız,callback);
$(seçici adı).show(hız,callback);
Yukarıdaki yazım şekline göre show ve hide metodlarını
kullanabiliriz.
hız parametresi "slow", "fast" veya milisaniye(saniyenin
binde biri) olabilir.
callback parametresi gizleme veya gösterme işlemi
bittikten sonra çağrılacak fonksiyonun adıdır.
$("button").click(function(){
$("p").hide(1000);
});
24. toggle()
Bir nesneye her tıklamada çalışacak fonksiyonları belirtir.
Çift fonksiyon yazılırsa tıklama işi meydana gelir, aksi
halde küçük bir animasyon görülür.
<style>
.link{color:red; background-color:blue;}
</style>
$(‘a’).toggle(
function(){
$(this).addClass("link");
}, function(){
$(this).removeClass(«link");
})