javaScript classList ile Sınıf Ekleme, Silme ve Geçiş efekti
Sınıfları ekleme ve silme, JavaScript ve DOM işleri konusunda en yaygın
görevlerden biri olmalıdır. Bir sınıf ekleme silme konusunda veya basit dom işlerinde
jquery kütüphanesini dahil etmek hiçde iyi bir yol değildir.
jquery 85kb bir alan kaplar buda sitemizin yüklenmesini yavaşlatabilir.
Sınıf ekleme ve silme gibi ortak görevleri yerine getirmek için etkili, yerel yollara
sahip olmak önemlidir. classList
bu görevi yerine getiren bir javaScript özelliğidir.
ClassList
özelliği, bir öğenin sınıf isimlerini DOMTokenList
nesnesi olarak
döndürür.
Bu özellik, bir öğe üzerinde CSS sınıfları eklemek, silmek ve geçiş efekti için yararlıdır.
ClassList
özelliği yalnızca okunabilir ancak add()
ve remove()
methodu kullanarak değiştirebilirsiniz.
Element.classList
classList
özelliği, bir öğenin sınıf isimlerini DOMTokenList
nesnesi olarak
döndürür.
classList
özelliği bizim için bir kaç kullanışlı methodla geliyor.
- add : Bir sınıf ekler.
- remove : Bir sınıfı siler.
- toggle : Bir sınıfa geçiş yapar.
- contains : Bir sınıfın var olup olmadığını kontrol eder.
- replace : Varolan bir sınıfı yeni bir sınıfla değiştirir.
- İtem() : Bir elemandan belirtilen dizin numarasına sahip sınıf adını döndürür. Dizin 0'dan başlar. Dizin aralık dışında ise null döndürür.
- tostring() :Sınıf listesini bir dize olarak döndür.
SÖZDİZİMİ :
element.classList
Özellikleri :
length Listedeki sınıfların sayısını döndürür. Bu özellik salt okunur.
CSS Sınıfı Ekleme
Belirtilen sınıf değerleri ekleyin. Bu sınıflar öğenin özniteliğinde zaten varsa, yok sayılırlar.
ÖRNEK:
Deneme sınıfını ekleyin.
document.querySelector('#el').classList.add('deneme');
Birden fazla sınıf ekleyelim. Deneme ve test sınıfını ekleyelim.
document.querySelector('#el').classList.add('deneme',
'test');
Not :Aynı sınıflardan biri zaten mevcutsa, tekrar eklenmeyecektir.
CSS Sınıfını Silme
Belirtilen sınıf isimleri siler.
ÖRNEK:
Deneme sınıfını silin.
document.querySelector('#el').classList.remove('deneme');
Birden fazla sınıf silelim. Deneme ve test sınıfını silelim.
document.querySelector('#el').classList.remove('deneme',
'test');
Not: Verilen sınıflardan birinin bulunmaması durumunda bir hata vermediğini unutmayın.
Bir CSS Sınıfını Değiştirme
Bazen bir kullanıcı etkileşimine veya sitenin durumuna dayalı olarak bir sınıf ismi eklememiz
veya silmemiz gerekir. Bu, aşağıda gösterildiği gibi toggle()
methodu kullanarak
gerçekleştirilir.
ÖRNEK:
Deneme sınıfına toggle()
methodu yani geçiş efekti uygulayın.
document.querySelector('#el').classList.toggle('deneme');
//ÇIKTI: class=""
document.querySelector('#el').classList.toggle('deneme');
//ÇIKTI: class="deneme"
CSS sınıf ismini öğrenme
ClassList
API'si, sınıf listesinde konumuna göre sınıf isimleri almak için bir yöntem sağlar.
Diyelim ki öğemizin birinci, ikinci ve üçüncü sınıfların isimlerini öğrenmek istiyoruz. Aşağıdakileri kodları yazacağız:
ÖRNEK:
document.querySelector('#el').classList.item(0);
//ÇIKTI: return "deneme"
document.querySelector('#el').classList.item(1);
//ÇIKTI: return "test"
document.querySelector('#el').classList.item(2);
//ÇIKTI: return null
CSS sınıfların toplam sayısını öğrenme
Çok yaygın olmasa da belirli bir öğeye uygulanan sınıf sayısını bilmemiz gereken durumlar vardır.
ClassList
API'sı, bu numarayı aşağıda gösterildiği gibi length
özelliğiyle öğrenmemizi sağlar:
ÖRNEK:
console.log(document.querySelector('#el').classList.length);
//ÇIKTI: 2
Bir Sınıfın Var olup olmadığını Belirleme.
Bazen, belirli bir sınıfın varlığına dayalı olarak belirli bir eylemi gerçekleştirmek
isteyebiliriz. Testi gerçekleştirmek için contains()
methodu şu şekilde kullanıyoruz:
if(document.querySelector('#el').classList.contains('test'))
{
// sınıf varsa kodlar buraya yaz.
} else {
// sınıf yoksa kodları buraya yaz.
}
Var olan sınıfı yeni bir sınıfla değiştir.
Varolan bir sınıfı yeni bir sınıfla değiştirir.
SÖZDİZİMİ :
replace(eskisınıf,yenisınıf)
ÖRNEK:
document.querySelector('#el').classList.replace("deneme",
"yeni")
Not: Mozilla firefox tarayıcıda çalışmakta diğer tarayıcılarda çalışıyor mu kontrol edin.
Sınıf listesini bir dizge olarak döndürme.
Sınıf listesini bir dize olarak döndürmek için, aşağıda gösterilen toString()
methodu
kullanabilirsiniz.
ÖRNEK:
var x = document.querySelector('#el').classList.toString();
console.log(x); //ÇIKTI:"deneme"
document.querySelector('#el').classList.add('test','makale');
var x = document.querySelector('#el').classList.toString();
console.log(x); //ÇIKTI: "deneme test makale"
- HTML
- CSS
- PHP
- JQUERY
- PHOTOSHOP
- JavaScript
- Web Dünyası
- Linux
- MİTHRİL FRAMEWORK
- Laravel
- Git
- React
- HTML LİNK(Bağlantı)EKLEME - LİNK VERME
- HTML YAZI VE RESİM ORTALAMA
- HTML RESME LİNK VERME
- HTML FORM OLUŞTURMA
- CSS YATAY MENÜ YAPIMI
- HTML RESİM EKLEME
- CSS (BOYUT) GENİŞLİK VE YÜKSEKLİK (Width-Height)
- HTML DİV ve SPAN NEDİR?
- HTML ARKAPLANA MÜZİK EKLEME
- KALİTE KAYBETMEDEN RESİMLERİ BÜYÜTME