Countdown betiği, belirtilen yerde bir geri sayım saati oluşturur.
Ne yapar
Sayfaya hedef tarihi olan bir öge eklersiniz ve bu betik, o tarihin günü/saati/dakika/saniyesine ulaşılana kadar bu tarihi bir geri sayımla değiştirir.
Installation
Geri sayım oluşturma
Aşağıdaki format kullanılarak bir sayfaya geri sayım eklenebilir:
<span class="countdown" style="display:none;">Yalnızca <span class="countdowndate">January 01 2027 00:00:00</span> tarihine kadar yeni yıla...</span>
"countdown" içindeki metin yalnızca geri sayım etkinken görünür. "countdowndate"den önceki herhangi bir metin geri sayımdan önce gelir ve "countdowndate" metinden sonraki herhangi bir metin geri sayımı takip eder.
Yukarıdaki örnek şunları üretir:
(Geri sayım örneği)
Geri sayım betik çalışmadığında veya yüklenirken alternatif metin olarak "nocountdown" sınıfına sahip isteğe bağlı bir yayılma kullanılabilir.
- Örneğin,
<span class="nocountdown">Neredeyse yeni yıl!</span>yazıldığında
"Neredeyse yeni yıl!" betik yüklenirken.
- Örneğin,
Bu aralık, yukarıdaki geri sayım kodundan hemen sonra yerleştirilmelidir.
Zaman dilimleri
Yukarıdaki örnek kodu kullanarak, geri sayım okuyucunun sistem saatine göre çalışır. Bu, yeni yıla geri sayım gibi durumlarda faydalı olabilirken, diğerlerinde pratik değildir.
Geri sayımın belirli bir zaman dilimine göre çalışmasını sağlamak için iki yöntem kullanılabilir. En kolayı, saat dilimi tanımlayıcısını kodun sonuna eklemektir. Örneğin, Doğu Standart Saati (EST) için geri sayım yapmak için:
<span class="countdowndate">January 01 2027 00:00:00 EST</span>
Bu yöntem çoğu tanımlayıcıyla çalışırken, bazı yaz saati türevlerinde (örneğin, İngiliz Yaz Saati - BST) çalışmaz.
Alternatif ve daha güvenilir bir yöntem, Koordineli Evrensel Zaman (UTC) ofsetini kodun sonuna eklemektir. Örneğin, -5 saatlik bir ofseti olan EST için geri sayım yapmak için:
<span class="countdowndate">January 01 2027 00:00:00 -0500</span>
Gün ışığından yararlanmaya yönelik değişikliklerin otomatik olarak yapılmadığını ve kullanıcı tarafından gün ışığından yararlanma tanımlayıcısı veya UTC ofseti kullanılarak yapılması gerektiğini unutmayın.
Seçenekler
Geri Sayımı Bitirme
Geri sayımın nasıl bitmesini istersiniz? Beş seçenek vardır:
- sıfırdan yukarı sayma. Bu, eski nedenlerden dolayı varsayılan değerdir
- geri sayım kabının kaldırılması
- geri sayımı sıfırda durdurma
- geri sayımı başka bir şeyle değiştirme
- seçtiğiniz özel bir JavaScript işlevini çağırma
Sayma
Bu varsayılan seçenek olduğundan, herhangi bir şey yapmanıza gerek yoktur.
Kaldır
Kapsayıcıya "remove" değerine sahip bir data-end özniteliği ekleyin:
<span data-end="remove" class="countdown" style="display:none;"><!--
-->Yalnızca <span class="countdowndate">January 01 2027 00:00:00</span> tarihine kadar yeni yıla...<!--
--></span>
Durdur
Kapsayıcıya "stop" değerine sahip bir data-end özniteliği ekleyin:
<span data-end="stop" class="countdown" style="display:none;"><!--
-->Yalnızca <span class="countdowndate">January 01 2027 00:00:00</span> tarihine kadar yeni yıla...<!--
--></span>
Yerleştirme
Kapsayıcıya "toggle" değerine sahip bir data-end özniteliği ekleyin. Ek olarak, değiştirmeye işaret eden bir seçiciyle bir data-toggle özniteliği eklemeniz gerekecektir:
<span data-end="toggle" data-toggle=".post-countdown" class="countdown" style="display:none;"><!--
-->Yalnızca <span class="countdowndate">January 01 2027 00:00:00</span> tarihine kadar yeni yıla...<!--
--></span><span class="post-countdown" style="display:none;">Mutlu 2027!</span>
data-toggle değerindeki noktaya dikkat edin! Beklenen değer, bir CSS veya jQuery seçicisidir. Yani bu, sınıflar için ".ad". Kimlikler için "#ad". Vb.
Alternatif olarak, açma/kapama kabı sayacın ardından gelen ise, herhangi bir seçici belirtmeye gerek kalmadan bunun yerine data-toggle="next" özel değeri kullanılabilir. Bu, örneğin bir şablonun parçası olarak birden çok geri sayım kullanıldığında yararlıdır.
Özel Geri Çağırma
Kapsayıcıya "callback" değerine sahip bir data-end özniteliği ekleyin. Ek olarak, çağırmak istediğiniz işlevin adıyla bir data-callback özniteliği eklemeniz gerekecektir:
<span data-end="callback" data-callback="myFunction" class="countdown" style="display:none;"><!--
-->Yalnızca <span class="countdowndate">January 01 2027 00:00:00</span> tarihine kadar yeni yıla...<!--
--></span>
Geri sayım sıfırda duracak ve ardından işleviniz çağrılacaktır. Geri sayım kabı, işlevin this nesnesi olacaktır.
İşlevi Geri Sayım modülünde kullanılabilir hale getirmek için, onu modülün kendisine eklemeniz gerekir:
window.countdownTimer = {
myFunction: function () {
$(this).text("Mutlu 2027!");
}
}
Öncü Sıfırları
Varsayılan olarak baştaki sıfırlar gösterilecektir:
0 gün, 0 saat, 10 dakika ve 10 saniye
Bunun yerine bunu tercih ederseniz:
10 dakika 10 saniye
"no-leading-zeros" değerine sahip bir data-options özniteliği eklemeniz gerekir:
<span data-options="no-leading-zeros" class="countdown" style="display:none;"><!--
-->Yalnızca <span class="countdowndate">January 01 2027 00:00:00</span> tarihine kadar yeni yıla...<!--
--></span>
Kısa biçim
Geri sayımı tam kelimeler yerine 2d 5h 30m 1s gibi kısa bir biçimde göstermeyi tercih ederseniz, "short-format" değerine sahip bir data-options özniteliği eklemeniz gerekir.
data-options özniteliğini zaten ayarladıysanız, aralarında bir boşluk bırakarak tüm seçenekleri ekleyin:
<span data-options="no-leading-zeros short-format" class="countdown" style="display:none;"><!--
-->Yalnızca <span class="countdowndate">January 01 2027 00:00:00</span> tarihine kadar yeni yıla...<!--
--></span>
Dinamik içerik
Bu betik, madde yorumları veya düzenleyici önizlemeleri gibi dinamik olarak eklenen içeriği destekler. Ancak, JavaScript aracılığıyla bir sayaç eklerseniz, bu olayı ekledikten sonra başlatmanız gerekir:
mw.hook("wikipage.content").fire($("ÖGE"));
Burada ÖGE, sayacın eklendiği ögenin seçicisidir.
Değişiklik günlüğü
| Date | Description | Author |
|---|---|---|
| July 7, 2011 | Added code to allow the definition of singular and plural forms of time. | Eladkse |
| January 31, 2012 | Added localisation code by Dantman. | Eladkse |
| June 28, 2012 | Simplified singular/plural code. | Eladkse |
| December 9, 2012 | Complete rewrite and addition of a few options. | Pecoes |
| June 15, 2017 | Dynamic content support. | Jorgemg14 |
| October 21, 2017 | Added short format option. | Jorgemg14 |