mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-12-24 10:01:38 +00:00
jQuery Turkish document added.
This commit is contained in:
parent
2f81283970
commit
8001619999
337
tr-tr/jquery-tr.html.markdown
Normal file
337
tr-tr/jquery-tr.html.markdown
Normal file
@ -0,0 +1,337 @@
|
|||||||
|
---
|
||||||
|
language: jquery
|
||||||
|
contributors:
|
||||||
|
- ["Seçkin KÜKRER", "https://github.com/leavenha"]
|
||||||
|
filename: jquery-tr-tr.js
|
||||||
|
lang: tr-tr
|
||||||
|
---
|
||||||
|
|
||||||
|
# Tanım
|
||||||
|
|
||||||
|
jQuery, (IPA: ˈd͡ʒeɪˌkwɪəɹiː).
|
||||||
|
j + Query, olarak isimlendirilmiş, çünkü çoğunlukla HTML elementlerini sorgulamak ve onları manipüle etmek için kullanılır.
|
||||||
|
|
||||||
|
jQuery, 2006 yılında geliştirilmiş ve günümüzde halen kullanımı yaygın, görece en popüler çapraz-platform JavaScript kütüphanelerinden birisidir. Şimdilerde jQuery ekibi tarafından gelişimi devam etmektedir. Dünyanın bir çok yerinden büyük şirketler ve bağımsız yazılım ekipleri tarafından kullanılmaktadır.
|
||||||
|
|
||||||
|
Genel kullanım amacı animasyonlardır; Galeri, ek menü, sayfa geçişleri, ve diğer tüm gerçeklemelere sağladığı kolaylıkla birlikte Flash'ın alternatifi olarak yorumlanabilir. [Ajax][ajax-wikipedia-page] işlemleri de dahil olmak üzere olay-yönetimi, döküman manipülasyonu ve bir çok programlama görevini kolaylaştırır.
|
||||||
|
|
||||||
|
Resmi sitesinden ([jQuery][jquery-official-website]) indirip web sitenize yükleyebilirsiniz. jQuery günümüz JavaScript kütüphaneleri gibi, küçültülmüş boyutlarda bulut tabanlı İçerik Dağıtım Ağı sistemleri sayesinde bağımsız olarak da sitenize eklenebilir.
|
||||||
|
|
||||||
|
Kütüphanenin kullanımı ile, jQueryUI gibi ek paketlerle gelişmiş ve modern arayüzler gerçekleyebilirsiniz.
|
||||||
|
|
||||||
|
Fakat, jQuery'ye giriş yapmadan önce elbetteki bu kütüphanenin üzerine kurulduğu teknoloji olan [JavaScript'i öğrenmelisiniz][javascript-learnxinyminutes-page].
|
||||||
|
|
||||||
|
```js
|
||||||
|
|
||||||
|
// Bu belgedeki değişken isimleri Türkçe,
|
||||||
|
// ve [Lower Camel Case] notasyonu uygulamaktadır.
|
||||||
|
// Bu belgedeki kod parçalarının çıktıları,
|
||||||
|
// onları uyguladığınız dökümanın içeriğine bağlı olarak değişmektedir.
|
||||||
|
|
||||||
|
// Döküman boyunca, aşağıdaki gösterimde
|
||||||
|
// Kod - Çıktı ikilisi ile içeriğin anlamlandırılması
|
||||||
|
// kolaylaştırılmaya çalışmıştır.
|
||||||
|
// ornek_kod_parcasi();
|
||||||
|
// => "ÖRNEK ÇIKTI"
|
||||||
|
|
||||||
|
// *. Konsept
|
||||||
|
// jQuery DOM nesnelerini seçmek için inovatif bir yol sunar.
|
||||||
|
// `$` değişkeni, `jQuery` kütüphanesine işaret eder.
|
||||||
|
// Fonksiyon notasyonu ile DOM nesnelerini elde eder
|
||||||
|
// ve üzerinde işlemler gerçekleştirirsiniz.
|
||||||
|
$(window)
|
||||||
|
// => jQuery [Window] (1)
|
||||||
|
// Bize tarayıcının belirlediği window nesnesini verir.
|
||||||
|
|
||||||
|
// 1. Seçiciler
|
||||||
|
// Tüm nesneleri seçmek için `*` çağırımı yapılır.
|
||||||
|
const hepsi = $('*');
|
||||||
|
// => jQuery [<html>, <head>, <meta>,
|
||||||
|
// .... <meta>, <title>, <meta>, <meta>,
|
||||||
|
// .... <meta>, <link>, <link>, …] (1134) = $1
|
||||||
|
|
||||||
|
// Seçiciler, jQuery'de bir nesne seçmek için kullanılırlar,
|
||||||
|
const sayfa = $(window);
|
||||||
|
// => jQuery [window] (1)
|
||||||
|
// Sayfa, açık döküman nesnesini seçer.
|
||||||
|
|
||||||
|
// Elementler, kendileri için seçicidirler.
|
||||||
|
const tumParagraflar = $('p');
|
||||||
|
// => jQuery [<p>, <p>, <p>] (3)
|
||||||
|
|
||||||
|
// Seçiciler aynı zamanda CSS seçicileri olabilir.
|
||||||
|
const mavi = $('.mavi');
|
||||||
|
// => jQuery [<p class='mavi'] (1)
|
||||||
|
|
||||||
|
// Aynı zamanda element ile birlikte kullanılabilirler.
|
||||||
|
const maviParagraf = $('p.mavi');
|
||||||
|
// => jQuery [<p class='mavi'>] (1)
|
||||||
|
|
||||||
|
// Özellik seçicileri de mevcuttur,
|
||||||
|
// Elementin özelliği için seçim yaparlar.
|
||||||
|
const isimSecicisi = $('input[name*="kayit.form"]');
|
||||||
|
// => jQuery [<input name='kayit.form.sifre'>,
|
||||||
|
// <input name='kayit.form.dogumtarihi'> ...] (10)
|
||||||
|
|
||||||
|
// Diğer özellik seçiciler;
|
||||||
|
/*
|
||||||
|
- Özelliğin içinde arayan; *=
|
||||||
|
- Özelliğin içinde verilen kelimeleri arayan; ~=
|
||||||
|
|-(kelimeler boşlukla ayrılmalı, *='den farkına dikkat ediniz.)
|
||||||
|
- Özelliğin başlangıç verisini arayan; ^=
|
||||||
|
- Özelliğin bitiş verisini arayan; $=
|
||||||
|
- Özelliği tamamen karşılaştıran; =
|
||||||
|
- Özelliğin eşitsizlik durumunu karşılaştıran; !=
|
||||||
|
|
||||||
|
Diğer tüm seçiciler için resmi siteyi kontrol ediniz.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// 2. Olaylar ve Efektler
|
||||||
|
// - Olaylar
|
||||||
|
// jQuery kullanıcı ile tarayıcı arasındaki etkileşimi olaylar ile ele alır.
|
||||||
|
|
||||||
|
// En yaygın kullanımı tartışmasız ki Dökümanın Yüklenmesi olayıdır.
|
||||||
|
|
||||||
|
// $.ready fonksiyonu, argüman olarak aldığı fonksiyonu,
|
||||||
|
// seçilen eleman tamamen yüklendiğinde çağıracaktır.
|
||||||
|
$(document).ready(function(){
|
||||||
|
// Dökümanın tamamı yüklendiğine göre, iş mantığımı çağırabiliriz.
|
||||||
|
console.info('Döküman yüklendi!');
|
||||||
|
})
|
||||||
|
// => jQuery [#document] (1)
|
||||||
|
|
||||||
|
// Bir dökümanın tamamının yüklenmeden,
|
||||||
|
// herhangi bir iş mantığı çalıştırmanın
|
||||||
|
// neden kötü bir fikir olduğunu merak ediyorsanız,
|
||||||
|
// ileri okuma kısmına danışabilirsiniz.
|
||||||
|
|
||||||
|
// Önce Olay tanımlayalım.
|
||||||
|
|
||||||
|
// Tıklama olayı için `$.click` olay tetikleyicisi kullanılıyor.
|
||||||
|
$('.mavi').click(function(){
|
||||||
|
// Unutmayın ki, önceden tanımlanmış
|
||||||
|
// bir fonksiyonu da argüman olarak verebilirsiniz.
|
||||||
|
console.info('Mavi butona tıkladın!');
|
||||||
|
})
|
||||||
|
// => jQuery [<button>, <button>, <button>, <button>, <button>, …] (365)
|
||||||
|
|
||||||
|
// Çift Tıklama olayı için `$.dblclick` olay tetikleyicisi kullanılıyor.
|
||||||
|
$('.mavi').dblclick(function(){
|
||||||
|
console.info('Mavi butona çift tıkladın!');
|
||||||
|
})
|
||||||
|
// => jQuery [<button>, <button>, <button>, <button>, <button>, …] (365)
|
||||||
|
|
||||||
|
// Seçilen Elemente birden fazla tetiklenecek fonksiyon tanımalamak
|
||||||
|
// istersek, Olayları ve Fonksiyonları Anahtar-Değer yapısı sağlayan
|
||||||
|
// Objeleri kullanarak da çağırabiliriz.
|
||||||
|
|
||||||
|
// => tetiklenecekFonksiyon
|
||||||
|
$('.mor').on({
|
||||||
|
click: () => console.info('Tek tıklama ile tetiklendim!'),
|
||||||
|
dblclick: () => console.info('Çift tıklama ile tetiklendim!'),
|
||||||
|
// ...
|
||||||
|
});
|
||||||
|
// => jQuery [<button>, <button>, <button>, <button>, <button>, …] (365)
|
||||||
|
|
||||||
|
// Diğer olay tetikleyicileri;
|
||||||
|
/*
|
||||||
|
Elemente,
|
||||||
|
- Fokus/Odaklanma; $.focus
|
||||||
|
- Fokus/Odaklanmanın kaybedilmesi; $.blur
|
||||||
|
- Farenin alanına girmesi; $.mouseenter
|
||||||
|
- Farenin alanından çıkması; $.mouseleave
|
||||||
|
|
||||||
|
Diğer tüm olay tetikleyicileri için resmi siteyi kontrol ediniz.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Tanımlanan olayları tetiklemek için,
|
||||||
|
// Kullanıcı-Tarayıcı etkileşimi yerine elle çağrı yapmak da mümkün.
|
||||||
|
// Tanımlama ile çağırım arasındaki fark sadece sağlanan argümanlardır.
|
||||||
|
// Argümansız çağırım, olayı tetikler.
|
||||||
|
|
||||||
|
// Tıklama olayını tetiklemek için.
|
||||||
|
$('.mavi').click();
|
||||||
|
// => Mavi butona tıkladın!
|
||||||
|
// => jQuery [<button>] (1)
|
||||||
|
|
||||||
|
// Çift Tıklama olayını tetiklemek için.
|
||||||
|
$('.mavi').dblclick();
|
||||||
|
// => Mavi butona çift tıkladın!
|
||||||
|
// => jQuery [<button>] (1)
|
||||||
|
|
||||||
|
// - Efektler
|
||||||
|
// jQuery bir çok ön-tanımlı efekt sunmakta.
|
||||||
|
// Bu efektler, belirli parametlerle, farklı iş mantıklarını
|
||||||
|
// gerçeklemenize izin verebilir.
|
||||||
|
// Önce parametresiz işlevlere göz atalım.
|
||||||
|
|
||||||
|
// Elementleri saklayabilir,
|
||||||
|
$('#slaytresmi').hide();
|
||||||
|
// => jQuery [<img id='slaytresmi'>] (1)
|
||||||
|
|
||||||
|
// Gizlenen elementleri tekrar görünür yapabilir,
|
||||||
|
$('#slaytresmi').show();
|
||||||
|
// => jQuery [<img id='slaytresmi'>] (1)
|
||||||
|
|
||||||
|
// Yada dilediğiniz CSS niteliğini anime edebilirsiniz,
|
||||||
|
|
||||||
|
// Bu parametre, anime etmek istediğiniz CSS özelliklerini
|
||||||
|
// belirleyen Obje bilgisidir.
|
||||||
|
// Yükseklik ve Genişlik bilgileri için değerler belirliyoruz.
|
||||||
|
const animeEdilecekCSSOzellikleri =
|
||||||
|
{
|
||||||
|
weight: "300px",
|
||||||
|
height: "300px"
|
||||||
|
};
|
||||||
|
|
||||||
|
// Diğer anime edilebilir CSS özellikleri;
|
||||||
|
/*
|
||||||
|
Elementin,
|
||||||
|
- Opaklık; opacity
|
||||||
|
- Dış çevre mesafesi; margin
|
||||||
|
- Çerçeve yüksekliği; borderWidth
|
||||||
|
- Satır yüksekliği; lineHeight
|
||||||
|
|
||||||
|
Diğer tüm özellikler için resmi siteyi kontrol ediniz.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Bu parametre animasyonun süresini belirler.
|
||||||
|
const milisaniyeCinsindenAnimasyonSuresi =
|
||||||
|
1200;
|
||||||
|
|
||||||
|
// Bu parametre, 'linear' yada 'swing' metin
|
||||||
|
// bilgilerinden birini alır ve animasyonun
|
||||||
|
// akıcılığını belirler.
|
||||||
|
// x ∈ {'linear', 'swing'}
|
||||||
|
const animasyonAkiciligi = 'linear';
|
||||||
|
|
||||||
|
// Bu parametre, bir fonksiyondur ve
|
||||||
|
// animasyondan sonra çağırılır.
|
||||||
|
// Bir geri-çağırım (callback*) olarak değerlendirilebilir.
|
||||||
|
const animasyonGeriCagirimFonksiyonu = function(){
|
||||||
|
console.info('Animasyon bitti!');
|
||||||
|
};
|
||||||
|
|
||||||
|
// Şimdi tanımlanan bilgilerimizle animasyonu çağırıyoruz.
|
||||||
|
$('#slaytresmi').animate(animeEdilecekCSSOzellikleri,
|
||||||
|
milisaniyeCinsindenAnimasyonSuresi,
|
||||||
|
animasyonAkiciligi,
|
||||||
|
animasyonGeriCagirimFonksiyonu);
|
||||||
|
// => jQuery [<img id='slaytresmi'>] (1)
|
||||||
|
|
||||||
|
// Kütüphane `$.animate` fonksiyonu için, anime edeceğiniz
|
||||||
|
// CSS özellikleri dışındaki tüm argümanlar için
|
||||||
|
// ön tanımlı değerler sağlamaktadır.
|
||||||
|
// Bu değerler için resmi siteyi kontrol ediniz.
|
||||||
|
|
||||||
|
// Diğer ön tanımlı efektler;
|
||||||
|
/*
|
||||||
|
Elementi,
|
||||||
|
- Yukarı kaydırır; $.slideUp
|
||||||
|
- Verilen saydamlık değerine anime eder; $.fadeTo
|
||||||
|
- Görünür yada görünmez yapar (geçerli durumuna bağlı); $.toggle
|
||||||
|
|
||||||
|
Diğer tüm efektler için resmi siteyi kontrol ediniz.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// 3. Manipülasyon
|
||||||
|
|
||||||
|
// jQuery'de, HTML elementlerinin isteğiniz doğrultusunda
|
||||||
|
// değiştirilmesi için araçlar sunulmakta.
|
||||||
|
|
||||||
|
// Bir ön-tanımlı CSS sınıfımız olduğunu hayal edebilirsiniz.
|
||||||
|
// Bu sınıfı istediğimiz elemente uygulamak için,
|
||||||
|
$('#slaytresmi').addClass('inanilmaz-bir-cerceve-sinifi');
|
||||||
|
// => jQuery [<img id='slaytresmi' class='inanilmaz-bir-cerceve-sinifi'>] (1)
|
||||||
|
|
||||||
|
// Bu CSS sınıfını istediğimiz zaman silebiliriz,
|
||||||
|
$('#slaytresmi').removeClass('inanilmaz-bir-cerceve-sinifi');
|
||||||
|
// => jQuery [<img id='slaytresmi'>] (1)
|
||||||
|
|
||||||
|
// Bu HTML elementini, istediğimiz başka bir element ile çevreleyebiliriz,
|
||||||
|
$('#slaytresmi').wrap('<div class="farkli-bir-cerceve"></div>');
|
||||||
|
// => jQuery [<img id='slaytresmi'>] (1)
|
||||||
|
// Sonucun gözlemlenebilmesi için, elementin çevreleme işlemi sonrası
|
||||||
|
// döküman üzerindeki yapısını temel bir seçici ile gözlemleyebiliriz;
|
||||||
|
$('.farli-bir-cerceve')
|
||||||
|
// => jQuery [<div class='farkli-bir-cerceve>] (1)
|
||||||
|
// => <div class="farkli-bir-cerceve">
|
||||||
|
// <img id='slaytresmi'>
|
||||||
|
// </div>
|
||||||
|
|
||||||
|
// Elemente içerik ekleyebiliriz,
|
||||||
|
// Eklemeler döküman içeriğinin sonuna yapılacaktır.
|
||||||
|
// Bu süreci daha iyi gözlemleyebilmek için içeriğine bakmamız yeterli,
|
||||||
|
// Ekleme öncesinde;
|
||||||
|
$('.farkli-bir-cerceve');
|
||||||
|
// => jQuery [<div class='farkli-bir-cerceve>] (1)
|
||||||
|
// => <div class="farkli-bir-cerceve">
|
||||||
|
// <img id='slaytresmi'>
|
||||||
|
// </div>
|
||||||
|
|
||||||
|
// `$.append` fonksiyonu ile ekleme işlemini yapıyoruz.
|
||||||
|
$('.farkli-bir-cerceve').append('<h1>Bu çerçeve farklı!</h1>');
|
||||||
|
// => jQuery [<div class='farkli-bir-cerceve>] (1)
|
||||||
|
// => <div class="farkli-bir-cerceve">
|
||||||
|
// <img id='slaytresmi'>
|
||||||
|
// <h1>Bu çerçeve farklı!</h1>
|
||||||
|
// </div>
|
||||||
|
|
||||||
|
// Dökümandan element silebiliriz,
|
||||||
|
$('.farkli-bir-cerceve > h1').remove();
|
||||||
|
// => jQuery [<h1>] (1)
|
||||||
|
|
||||||
|
// Dökümanın güncel halini görmek için seçiciyi çağırıyoruz,
|
||||||
|
$('.farkli-bir-cerceve');
|
||||||
|
// => jQuery [<div class='farkli-bir-cerceve>] (1**
|
||||||
|
// => <div class="farkli-bir-cerceve">
|
||||||
|
// <img id='slaytresmi'>
|
||||||
|
// </div>
|
||||||
|
|
||||||
|
// Elementlerin özniteliklerini değiştirebilir yada
|
||||||
|
// silebiliriz.
|
||||||
|
// Öznitelik erişici ve değiştiricisi,
|
||||||
|
// Bir fonksiyon notasyonuyla yapılanmış durumda.
|
||||||
|
// Eğer bir öznitelik bilgisini almak istiyorsak, ilgili öznitelik
|
||||||
|
// ismini;
|
||||||
|
|
||||||
|
$('.farkli-bir-cerceve > img').attr('id');
|
||||||
|
// => 'slaytresmi'
|
||||||
|
|
||||||
|
// Eğer bir öznitelik bilgisini güncellemek istiyorsak,
|
||||||
|
// ilgili öznitelik ismi ve sonrasında yeni değerini argüman
|
||||||
|
// olarak $.attr fonksiyonuna iletiyoruz;
|
||||||
|
|
||||||
|
$('.farkli-bir-cerceve > img').attr('id', 'cercevelislaytresmi');
|
||||||
|
// => jQuery [<img id='cercevelislaytresmi'>] (1)
|
||||||
|
|
||||||
|
// Diğer ön fonksiyonlar;
|
||||||
|
/*
|
||||||
|
Elementin,
|
||||||
|
- Yükseklik değeri, $.height
|
||||||
|
- HTML döküman içeriği, $.html
|
||||||
|
- Girdi içeriği, $.val
|
||||||
|
- Verilen CSS sınıfına sahipliği, $.hasClass
|
||||||
|
|
||||||
|
Diğer tüm manipülasyon fonksiyonları için resmi siteyi kontrol ediniz.
|
||||||
|
*/
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## Notlar
|
||||||
|
|
||||||
|
- Yaygın bir yanlış bilineni düzeltmek adına; jQuery bir çalışma-çatısı değil, bir *kütüphanedir*.
|
||||||
|
- [Lower Camel Case][lower-camel-case-notasyonu] notasyonu için Wikipedia sayfası.
|
||||||
|
|
||||||
|
## İleri Okuma
|
||||||
|
|
||||||
|
### İngilizce
|
||||||
|
|
||||||
|
- [jQuery][jquery-official-website] resmi sitesi.
|
||||||
|
|
||||||
|
- [Jakob Jenkov | $(document).ready article](http://tutorials.jenkov.com/jquery/document-ready.html)
|
||||||
|
|
||||||
|
[jquery-official-website]: https://jquery.com
|
||||||
|
[ajax-wikipedia-page]: https://en.wikipedia.org/wiki/Ajax_(programming)
|
||||||
|
[javascript-learnxinyminutes-page]: https://learnxinyminutes.com/docs/javascript/
|
||||||
|
[lower-camel-case-notasyonu]: https://en.wikipedia.org/wiki/Camel_case#Programming_and_coding
|
Loading…
Reference in New Issue
Block a user