JavaScript Fonksiyonları
Bu doküman, general.js
dosyasında tanımlı olan ve tema geliştirme sürecinde kullanılabilecek JavaScript fonksiyonlarını ayrıntılı bir şekilde açıklamaktadır. Fonksiyonlar, bileşenler ve yardımcı araçlar olarak kategorize edilmiştir. Her bir fonksiyonun amacı, parametreleri ve kullanım örnekleri aşağıda detaylandırılmıştır.
Genel Açıklama
general.js
dosyası, tema geliştirme sürecinde dinamik işlevsellik sağlamak için kullanılan bir dizi fonksiyon ve bileşen içerir. Bu fonksiyonlar, API isteklerinden DOM manipülasyonuna, kullanıcı arayüzü etkileşimlerinden veri yönetimine kadar geniş bir yelpazede görev yapar. Aşağıda, bu fonksiyonların detaylı açıklamaları ve kullanım örnekleri sunulmaktadır.
Yardımcı Fonksiyonlar
getLocale()
Sayfanın diline göre yerel ayar (locale) bilgisini döndürür.
Parametreler:
- Yok
Dönüş Değeri:
string
: Yerel ayar kodu (örneğin,tr-TR
,en-US
).
Örnek:
const locale = getLocale(); // Örneğin: "tr-TR"
request(method, url, data, accept)
Asenkron HTTP istekleri gönderir.
Parametreler:
method
(string, opsiyonel): HTTP yöntemi (GET
,POST
, vb.). Varsayılan:GET
.url
(string): İstek gönderilecek URL.data
(any, opsiyonel): Gönderilecek veri (örneğin,FormData
).accept
(string, opsiyonel): Beklenen yanıt türü (JSON
).
Dönüş Değeri:
Promise
: Yanıt verisi (JSON veya metin).
Örnek:
request('GET', '/api/data', null, 'JSON')
.then(response => console.log(response))
.catch(error => console.error(error));
LocalApi.get(key, def)
localStorage
üzerinden veri alır.
Parametreler:
key
(string): Alınacak verinin anahtarı.def
(any, opsiyonel): Varsayılan değer. Varsayılan:false
.
Dönüş Değeri:
any
: Alınan veri veya varsayılan değer.
Örnek:
const value = LocalApi.get('compare', null); // user anahtarındaki veriyi alır
LocalApi.set(key, val, timeout)
localStorage
üzerine veri kaydeder.
Parametreler:
key
(string): Kaydedilecek verinin anahtarı.val
(any): Kaydedilecek veri.timeout
(number, opsiyonel): Verinin geçerlilik süresi (saniye cinsinden). Varsayılan: 1 yıl.
Dönüş Değeri:
boolean
: İşlem başarılıysatrue
, aksi takdirdefalse
.
Örnek:
LocalApi.set('user', { id: 1 }, 3600); // 1 saatlik geçerlilik süresi
LocalApi.remove(key)
localStorage
üzerinden veri siler.
Parametreler:
key
(string): Silinecek verinin anahtarı.
Dönüş Değeri:
boolean
: İşlem başarılıysatrue
, aksi takdirdefalse
.
Örnek:
LocalApi.remove('user'); // user anahtarını siler
scrollBehavior(href, height, trigger)
Sayfayı belirtilen bir elemana kaydırır.
Parametreler:
href
(stringobject, opsiyonel): Kaydırılacak elemanın seçicisi veya DOM elemanı. height
(number, opsiyonel): Üstten kaydırma mesafesi. Varsayılan:0
.trigger
(boolean, opsiyonel): Elemana tıklamayı tetikler mi? Varsayılan:false
.
Örnek:
scrollBehavior('#section1', 100); // #section1 elemanına 100px üstten kaydır
loader(status)
Sayfa yükleme göstergesini kontrol eder.
Parametreler:
status
(boolean, opsiyonel): Yükleme göstergesi gösterilsin mi? Varsayılan:false
. True olduğunda body’eis-loading
classı atar.
Örnek:
loader(true); // Yükleme göstergesini göster
loader(false); // Yükleme göstergesini gizle
addClass(element, cls)
Belirtilen elemanlara sınıf ekler.
Parametreler:
element
(NodeListArray): Sınıf eklenecek elemanlar. cls
(string): Eklenecek sınıf(lar).
Örnek:
addClass(document.querySelectorAll('.item'), 'active'); // Tüm .item elemanlarına active sınıfı ekler
removeClass(element, cls)
Belirtilen elemanlardan sınıf kaldırır.
Parametreler:
element
(NodeListArray): Sınıf kaldırılacak elemanlar. cls
(string): Kaldırılacak sınıf(lar).
Örnek:
removeClass(document.querySelectorAll('.item'), 'active'); // Tüm .item elemanlarından active sınıfını kaldırır
toggleClass(element, cls)
Belirtilen elemanlarda sınıfı değiştirir (ekler/kaldırır).
Parametreler:
element
(NodeListArray): Sınıf değiştirilecek elemanlar. cls
(string): Değiştirilecek sınıf(lar).
Örnek:
toggleClass(document.querySelectorAll('.item'), 'active'); // Tüm .item elemanlarında active sınıfını değiştirir
getUrlParam(key, url)
URL’den belirli bir parametreyi alır.
Parametreler:
key
(string): Alınacak parametrenin anahtarı.url
(string, opsiyonel): Parametre alınacak URL. Varsayılan: Mevcut sayfa URL’si.
Dönüş Değeri:
string | null
: Parametre değeri veyanull
.
Örnek:
const param = getUrlParam('id'); // ?id=123 -> "123"
setUrlParam(key, value, url)
URL’ye bir parametre ekler veya günceller.
Parametreler:
key
(string): Eklenecek/güncellenecek parametrenin anahtarı.value
(string): Parametre değeri.url
(string, opsiyonel): İşlem yapılacak URL. Varsayılan: Mevcut sayfa URL’si.
Dönüş Değeri:
URL
: Güncellenmiş URL nesnesi.
Örnek:
const newUrl = setUrlParam('id', '123', 'https://example.com'); // https://example.com?id=123
deleteUrlParam(key, url)
URL’den belirli bir parametreyi siler.
Parametreler:
key
(string): Silinecek parametrenin anahtarı.url
(string, opsiyonel): İşlem yapılacak URL. Varsayılan: Mevcut sayfa URL’si.
Dönüş Değeri:
URL
: Güncellenmiş URL nesnesi.
Örnek:
const newUrl = deleteUrlParam('id', 'https://example.com?id=123'); // https://example.com
setCookie(cookieName, cookieValue, ExDays)
Çerez (cookie) oluşturur.
Parametreler:
cookieName
(string): Çerez adı.cookieValue
(string): Çerez değeri.ExDays
(number): Çerezin geçerlilik süresi (gün cinsinden).
Örnek:
setCookie('user', 'john', 30); // 30 gün geçerli bir çerez oluşturur
getCookie(cookieName)
Belirtilen çerezin değerini alır.
Parametreler:
cookieName
(string): Çerez adı.
Dönüş Değeri:
string
: Çerez değeri veya boş string.
Örnek:
const user = getCookie('user'); // "john"
browser()
Kullanıcının tarayıcısını tespit eder.
Dönüş Değeri:
string
: Tarayıcı adı (örneğin,Google Chrome
,Mozilla Firefox
).
Örnek:
const browserName = browser(); // "Google Chrome"
isMobile(size)
Cihazın mobil olup olmadığını kontrol eder.
Parametreler:
size
(number, opsiyonel): Maksimum ekran genişliği. Varsayılan:1024
.
Dönüş Değeri:
boolean
: Mobil cihazsatrue
, değilsefalse
.
Örnek:
const isMob = isMobile(); // true / false
getLink(param, value, link)
URL’ye parametre ekler veya günceller ve döndürür.
Parametreler:
param
(string): Eklenecek/güncellenecek parametre.value
(string): Parametre değeri.link
(string, opsiyonel): İşlem yapılacak URL. Varsayılan: Mevcut sayfa URL’si.
Dönüş Değeri:
string
: Güncellenmiş URL.
Örnek:
const url = getLink('page', '2'); // ?page=2
evalScripts(content)
Metin içerisindeki <script>
etiketlerini çalıştırır.
Parametreler:
content
(string): Çalıştırılacak HTML içeriği.
Örnek:
evalScripts('<script>console.log("Merhaba");</script>'); // Konsola "Merhaba" yazar
evalScriptsAdd(content, id)
Metin içerisindeki <script>
etiketlerini DOM’a ekler.
Parametreler:
content
(string): HTML içeriği.id
(string): Script elemanlarına atanacak ID öneki.
Dönüş Değeri:
boolean
: İşlem başarılıysatrue
.
Örnek:
evalScriptsAdd('<script>console.log("Merhaba");</script>', 'script1');
scriptAdd(src, onload, onerror, integrity)
Sayfaya bir script dosyası ekler.
Parametreler:
src
(string): Script dosyasının URL’si.onload
(function, opsiyonel): Script yüklendiğinde çalışacak fonksiyon.onerror
(function, opsiyonel): Hata durumunda çalışacak fonksiyon.integrity
(string, opsiyonel): Script için bütünlük kontrolü.
Örnek:
scriptAdd('https://example.com/script.js', () => console.log('Yüklendi'));
setLanguage(value, callback)
Sayfa dilini değiştirir.
Parametreler:
value
(string): Yeni dil kodu (örneğin,tr
,en
).callback
(stringfunction, opsiyonel): Dil değişimi sonrası çalışacak fonksiyon.
Örnek:
setLanguage('en', () => console.log('Dil değişti'));
setCurrency(value, callback)
Sayfa para birimini değiştirir.
Parametreler:
value
(string): Yeni para birimi kodu (örneğin,TL
,USD
).callback
(stringfunction, opsiyonel): Para birimi değişimi sonrası çalışacak fonksiyon.
Örnek:
setCurrency('USD', () => console.log('Para birimi değişti'));
copyText(text, msg)
Metni panoya kopyalar ve bir bildirim gösterir.
Parametreler:
text
(string): Kopyalanacak metin.msg
(string, opsiyonel): Bildirim mesajı.
Örnek:
copyText('Merhaba', 'Kopyalandı!'); // Metni kopyalar ve bildirim gösterir
awaitTimeOut(ms)
Belirtilen süre kadar bekler.
Parametreler:
ms
(number): Bekleme süresi (milisaniye).
Dönüş Değeri:
Promise
: Bekleme tamamlandığında çözülür.
Örnek:
await awaitTimeOut(1000); // 1 saniye bekler
modalClose(modal, modalObj)
Modal pencereyi kapatır.
Parametreler:
modal
(stringHTMLElement, opsiyonel): Kapatılacak modalın seçicisi veya DOM elemanı. modalObj
(object, opsiyonel): Modal nesnesi.
Örnek:
modalClose('#myModal'); // #myModal ID'li modalı kapatır
modal(options)
Bir modal pencere oluşturur ve gösterir.
Parametreler:
options
(object): Modal ayarları.id
(string): Modal ID’si.class
(string): Modal sınıfı (success
,danger
,info
).width
(string): Modal genişliği (örneğin,580px
).height
(string): Modal yüksekliği.title
(string): Modal başlığı.html
(string): Modal içeriği.timeout
(number): Otomatik kapanma süresi (milisaniye).close
(boolean): Kapatma düğmesi gösterilsin mi?disabledClose
(boolean): Kapatma devre dışı mı?iconHtml
(string): Modal simgesi.alert
(boolean): Uyarı modalı mı?buttons
(array): Modal düğmeleri.callbacks
(object): Açılma/kapanma geri çağırımları.
Örnek:
modal({
id: 'myModal',
title: 'Başlık',
html: '<p>Merhaba Dünya</p>',
buttons: [{ text: 'Kapat', event: () => modalClose() }]
});
notify(options)
Bir bildirim gösterir.
Parametreler:
options
(object): Bildirim ayarları.title
(string): Bildirim başlığı.text
(string): Bildirim metni.duration
(number): Bildirim süresi (milisaniye).gravity
(string): Bildirim konumu (top
,bottom
).position
(string): Bildirim hizası (left
,right
).class
(string): Bildirim sınıfı (success
,danger
,info
).iconHtml
(string): Bildirim simgesi.
Örnek:
notify({
text: 'Başarılı!',
class: 'success',
duration: 3000
});
drawerClose()
Açık olan tüm yan menüleri kapatır.
Örnek:
drawerClose(); // Tüm yan menüleri kapatır
mask(element, mask, regex, max)
Giriş alanlarına maske uygular.
Parametreler:
element
(HTMLElement): Maske uygulanacak giriş elemanı.mask
(string, opsiyonel): Maske türü (string
,number
,email
, vb.).regex
(string, opsiyonel): Özel düzenli ifade.max
(string, opsiyonel): Maksimum karakter sayısı.
Örnek:
mask(document.querySelector('#phone'), 'number', null, 10); // Telefon girişine sayı maskesi uygular
format(p, d)
Sayıyı para birimi formatına dönüştürür.
Parametreler:
p
(number): Formatlanacak sayı.d
(number, opsiyonel): Ondalık basamak sayısı. Varsayılan:DECIMAL_LENGTH
. Özel bir durum olmadığında boş bırakılmalıdır kiDECIMAL_LENGTH
değerini alsın.
Dönüş Değeri:
string
: Formatlanmış sayı (örneğin,1.234,56
).
Örnek:
const formatted = format(1234.567); // "1.234,57" default `d` değeri 2'dir.
vat(p, vat)
KDV dahil fiyatı hesaplar.
Parametreler:
p
(number): KDV hariç fiyat.vat
(number): KDV oranı (%).
Dönüş Değeri:
string
: KDV dahil formatlanmış fiyat.
Örnek:
const priceWithVat = vat(100, 18); // '118,00' KDV dahil fiyat
priceToFloat(p)
Formatlanmış fiyatı sayıya dönüştürür.
Parametreler:
p
(string): Formatlanmış fiyat (örneğin,1.234,56
).
Dönüş Değeri:
number | false
: Dönüştürülmüş sayı veya hata durumundafalse
.
Örnek:
const number = priceToFloat('1.234,56'); // 1234.56
triggerEvent(element, event)
Belirtilen elemanda bir olay tetikler.
Parametreler:
element
(HTMLElement): Olay tetiklenecek eleman.event
(string): Tetiklenecek olay (örneğin,click
,mouseenter
).
Örnek:
triggerEvent(document.querySelector('#btn'), 'click'); // #btn elemanında click olayı tetikler
outsideClick(eventElement, element, onCallback)
Elemanların dışına tıklanıldığında bir geri çağırım çalıştırır.
Parametreler:
eventElement
(HTMLElement): İzlenen eleman.element
(HTMLElement): Dış tıklama kontrol edilecek eleman.onCallback
(function): Dış tıklamada çalışacak fonksiyon.
Örnek:
outsideClick(document.querySelector('#menu'), document.querySelector('#menu'), () => console.log('Dışarı tıklandı'));
timeConverter(UNIX_timestamp, format)
Unix zaman damgasını belirtilen formata dönüştürür.
Parametreler:
UNIX_timestamp
(number): Unix zaman damgası.format
(string): Çıktı formatı (örneğin,d.m.y
).
Dönüş Değeri:
string
: Formatlanmış tarih.y.m.d.h.i.s
: Sırası ile yıl.ay.gün.saat.dakika.saniye ye denk gelir.
Örnek:
const date = timeConverter(1625097600000, 'd.m.y'); // "01.07.2021"
taxLoader(options)
Vergi dairesi listesini yükler ve bir seçim menüsü oluşturur.
Parametreler:
options
(object): Ayarlar.selector
(stringHTMLElement): Seçim menüsünün bağlanacağı eleman. limit
(number): Bir seferde yüklenecek öğe sayısı.start
(number): Başlangıç indeksi.
Örnek:
taxLoader({ selector: '#taxOffice', limit: 15 });
stringToObject(inputString)
Query string’i bir nesneye dönüştürür.
Parametreler:
inputString
(string): Query string (örneğin,key1=value1&key2=value2
).
Dönüş Değeri:
object
: Anahtar-değer nesnesi.
Örnek:
const obj = stringToObject('id=123&name=John'); // { id: "123", name: "John" }
snippetUri(snippet, params)
Snippet URL’si oluşturur.
Parametreler:
snippet
(string): Snippet adı.params
(object): URL parametreleri.
Dönüş Değeri:
string
: Oluşturulan URL.
Örnek:
const url = snippetUri('cart-preview', { include: 'cart' }); // '/api/storefront/snippet/cart-preview?include=cart&language=tr'
loadSnippet(options)
Bir snippet yükler.
Parametreler:
options
(object): Ayarlar.snippet
(string): Snippet adı.params
(object): URL parametreleri.success
(function): Başarılı yanıt sonrası çalışacak fonksiyon.
Örnek:
loadSnippet({
snippet: 'cart-preview',
params: { include: 'cart' },
success: (response) => console.log(response)
});
getOffsetTop(element)
Elemanın sayfanın üstüne olan mesafesini hesaplar.
Parametreler:
element
(HTMLElement): Mesafesi hesaplanacak eleman.
Dönüş Değeri:
number
: Elemanın üst mesafesi (px).
Örnek:
const offset = getOffsetTop(document.querySelector('#section')); // 500
checkValidity(form)
Formun doğruluğunu kontrol eder.
Parametreler:
form
(HTMLFormElement): Doğrulanacak form.
Dönüş Değeri:
boolean
: Form geçerliysetrue
, değilsefalse
.
Örnek:
const isValid = checkValidity(document.querySelector('#myForm')); // true
popoverAlert(options)
Formda hata mesajı gösterir.
Parametreler:
options
(object): Ayarlar.selector
(stringHTMLElement): Hata mesajının bağlanacağı eleman. message
(string): Hata mesajı.scroll
(boolean): Hata alanına kaydırılsın mı?
Örnek:
popoverAlert({
selector: '#email',
message: 'Geçersiz e-posta'
});
popoverAlertHide(parent)
Hata mesajlarını gizler.
Parametreler:
parent
(HTMLElement, opsiyonel): Hata mesajlarının gizleneceği kapsayıcı. Varsayılan:document.body
.
Örnek:
popoverAlertHide(document.querySelector('#myForm')); // Formdaki hata mesajlarını gizler
passwordToggle(event, input)
Şifre girişinin görünürlüğünü değiştirir.
Parametreler:
event
(HTMLElement): Şifre görünürlük düğmesi.input
(HTMLElement): Şifre giriş alanı.
Örnek:
passwordToggle(document.querySelector('#toggle'), document.querySelector('#password'));
captchaToggle(element)
CAPTCHA resmini yeniler.
Parametreler:
element
(HTMLElement): CAPTCHA resmi.
Örnek:
captchaToggle(document.querySelector('#captcha')); // CAPTCHA resmini yeniler
messageCount()
Kullanıcının mesaj sayısını alır ve gösterir.
Örnek:
messageCount(); // Mesaj sayısını günceller
formLoader(options)
Form alanlarını veriyle doldurur.
Parametreler:
options
(object): Ayarlar.selector
(string): Form seçicisi.url
(string): Veri alınacak URL.data
(object): Formu dolduracak veri.callback
(function): Doldurma sonrası çalışacak fonksiyon.
Örnek:
formLoader({
selector: '#myForm',
url: '/api/form-data',
callback: (result) => console.log(result)
});
tsRegion(options)
Bölge seçimi (ülke, şehir, ilçe) için dinamik bir arayüz sağlar.
Parametreler:
options
(object): Ayarlar.container
(string): Bölge seçimi kapsayıcısı.countryLimit
(number): Ülke limiti.storeLimit
(number): Mağaza limiti.regionLimit
(number): Bölge limiti.country
,state
,city
,town
,district
(object): Her biri için ayarlar (container
,selector
,code
,value
).
Örnek:
tsRegion({
container: '.regions',
country: { selector: '#country' }
});
Bileşenler (Components)
Aşağıdaki bileşenler, kullanıcı arayüzü etkileşimlerini yönetmek için kullanılır. Her bileşen, belirli bir işlevi yerine getirir ve genellikle otomatik olarak başlatılır (components.init()
).
favourite
Favori ürünleri yönetir.
Yöntemler:
add(productId, message)
: Ürünü favorilere ekler.remove(productId, message)
: Ürünü favorilerden kaldırır.fetchFavorites()
: Favori listesini alır.setFavorites(fav)
: Favori listesini günceller.set()
: Favori durumlarını DOM’a uygular.sendUpdates()
: Favori güncellemelerini sunucuya gönderir.click(element)
: Favori düğmesine tıklama işlevi.init()
: Bileşeni başlatır.
Örnek:
components.favourite.add('123', true); // Ürün 123'ü favorilere ekler ve bildirim gösterir
collection
Ürün koleksiyonlarını yönetir.
Yöntemler:
init()
: Koleksiyon düğmelerini başlatır.
Örnek:
components.collection(); // Koleksiyon bileşenini başlatır
compare
Ürün karşılaştırmasını yönetir.
Yöntemler:
add(productId)
: Ürünü karşılaştırma listesine ekler.remove(productId)
: Ürünü listeden kaldırır.get()
: Karşılaştırma listesini alır.init()
: Bileşeni başlatır.
Örnek:
components.compare.add('123'); // Ürün 123'ü karşılaştırma listesine ekler
stockAlarm
Stok uyarısı işlevselliği sağlar.
Yöntemler:
remove(removeAlarm)
: Stok uyarısını kaldırır.init()
: Bileşeni başlatır.
Örnek:
components.stockAlarm.init(); // Stok uyarı bileşenini başlatır
priceAlarm
Fiyat uyarısı işlevselliği sağlar.
Yöntemler:
remove(removeAlarm)
: Fiyat uyarısını kaldırır.init()
: Bileşeni başlatır.
Örnek:
components.priceAlarm.init(); // Fiyat uyarı bileşenini başlatır
multipleDiscount
Çoklu indirim seçeneklerini yönetir.
Yöntemler:
setTotal()
: Toplam indirimi günceller.set(input)
: İndirim durumunu ayarlar.init()
: Bileşeni başlatır.
Örnek:
components.multipleDiscount.init(); // Çoklu indirim bileşenini başlatır
qty
Ürün miktarı kontrolünü sağlar.
Yöntemler:
init()
: Bileşeni başlatır.
Örnek:
components.qty(); // Miktar kontrol bileşenini başlatır
addToCart
Sepete ürün ekleme işlevselliği sağlar.
Yöntemler:
init()
: Bileşeni başlatır.
Örnek:
components.addToCart(); // Sepete ekle bileşenini başlatır
cartPreview
Sepet önizlemesini yönetir.
Yöntemler:
getCartPreview(auto)
: Sepet önizlemesini yükler.init()
: Bileşeni başlatır.
Örnek:
components.cartPreview.init(); // Sepet önizleme bileşenini başlatır
cartDrawer
Sepet yan menüsünü yönetir.
Yöntemler:
getCartDrawer(auto)
: Sepet yan menüsünü yükler.init()
: Bileşeni başlatır.
Örnek:
components.cartDrawer.init(); // Sepet yan menü bileşenini başlatır
cartCountPrice
Sepet sayısı ve fiyatını günceller.
Yöntemler:
init()
: Bileşeni başlatır.
Örnek:
components.cartCountPrice(); // Sepet sayısı ve fiyat bileşenini başlatır
multiAddtoCart
Çoklu ürün sepete ekleme işlevselliği sağlar.
Yöntemler:
init()
: Bileşeni başlatır.
Örnek:
components.multiAddtoCart(); // Çoklu sepete ekle bileşenini başlatır
multiSelect
Çoklu seçim işlevselliği sağlar.
Yöntemler:
set(btn)
: Seçili öğeleri günceller.init()
: Bileşeni başlatır.
Örnek:
components.multiSelect.init(); // Çoklu seçim bileşenini başlatır
memberName
Üye adını gösterir.
Yöntemler:
init()
: Bileşeni başlatır.
Örnek:
components.memberName(); // Üye adı bileşenini başlatır
newsletter
Bülten aboneliği formunu yönetir.
Yöntemler:
init()
: Bileşeni başlatır.
Örnek:
components.newsletter(); // Bülten bileşenini başlatır
fastRegister
Hızlı kayıt formunu yönetir.
Yöntemler:
init()
: Bileşeni başlatır.
Örnek:
components.fastRegister(); // Hızlı kayıt bileşenini başlatır
login
Giriş formunu yönetir.
Yöntemler:
init()
: Bileşeni başlatır.
Örnek:
components.login(); // Giriş bileşenini başlatır
nomembership
Üyeliksiz alışveriş formunu yönetir.
Yöntemler:
init()
: Bileşeni başlatır.
Örnek:
components.nomembership(); // Üyeliksiz alışveriş bileşenini başlatır
socialLogin
Sosyal medya ile giriş işlevselliği sağlar.
Yöntemler:
init()
: Bileşeni başlatır.
Örnek:
components.socialLogin(); // Sosyal giriş bileşenini başlatır
logout
Çıkış işlevselliği sağlar.
Yöntemler:
init()
: Bileşeni başlatır.
Örnek:
components.logout(); // Çıkış bileşenini başlatır
isRequired
Zorunlu alanları işaretler.
Yöntemler:
init()
: Bileşeni başlatır.
Örnek:
components.isRequired(); // Zorunlu alan bileşenini başlatır
imageMap
Resim haritası işlevselliği sağlar.
Yöntemler:
init()
: Bileşeni başlatır.
Örnek:
components.imageMap(); // Resim haritası bileşenini başlatır
lazyLoadedBg
Geç yüklenen arka plan resimlerini yönetir.
Yöntemler:
init()
: Bileşeni başlatır.
Örnek:
components.lazyLoadedBg(); // Geç yükleme bileşenini başlatır
productLink
Ürün bağlantılarını yönetir.
Yöntemler:
init()
: Bileşeni başlatır.
Örnek:
components.productLink(); // Ürün bağlantı bileşenini başlatır
addClass
Elemanlara sınıf ekleme işlevselliği sağlar.
Yöntemler:
init()
: Bileşeni başlatır.
Örnek:
components.addClass(); // Sınıf ekleme bileşenini başlatır
removeClass
Elemanlardan sınıf kaldırma işlevselliği sağlar.
Yöntemler:
init()
: Bileşeni başlatır.
Örnek:
components.removeClass(); // Sınıf kaldırma bileşenini başlatır
toggleClass
Elemanlarda sınıf değiştirme işlevselliği sağlar.
Yöntemler:
init()
: Bileşeni başlatır.
Örnek:
components.toggleClass(); // Sınıf değiştirme bileşenini başlatır
init
Tüm bileşenleri başlatır.
Örnek:
components.init(); // Tüm bileşenleri başlatır
Olay Dinleyicileri
Sayfa yüklendiğinde (DOMContentLoaded
) aşağıdaki işlemler otomatik olarak gerçekleştirilir:
catalogApp.init()
: Katalog uygulamasını başlatır.appMobile()
: Mobil uygulama işlevlerini başlatır (sadece ana sayfada).components.init()
: Tüm bileşenleri başlatır.productLoader()
: Ürün yükleyiciyi başlatır.messageCount()
: Mesaj sayısını günceller.queryControl()
: Sorgu kontrollerini yapar.memberKvkkControl()
: Üye KVKK kontrollerini yapar.passwordStrengthControl()
: Şifre gücü kontrollerini yapar.lazyLoadedBg
: Geç yüklenen resimleri scroll olayında yükler.refererStorage.addItem()
: Yönlendirme bilgisini kaydeder.
Örnek:
document.addEventListener('DOMContentLoaded', async () => {
await components.init();
});