@stanko/dual-range-input, iki yerel HTML aralık girdisi kullanan yerel bir ikili aralık girdisi kütüphanesidir.
- Yerel girdileri kullanarak tüm varsayılan etkileşimleri ve erişilebilirlik özelliklerini korur.
- Yaklaşık 50 satır JavaScript ve CSS'ten oluşur.
- Neden gerekli
- Üretken çizim aracında parametreleri ayarlamak için bir UI kullanırken, minimum ve maksimum kaydırıcılara ihtiyaç duyulur.
- Mevcut çözümler JavaScript'e bağımlıdır ve sürükleme ile erişilebilirlik işlevlerini yeniden uygular.
- Yerel HTML aralık girdileri kullanılmalı ve piste tıklandığında en yakın kaydırıcı o değere gitmelidir.
- Nasıl çalışır
- İki girdi yan yana yerleştirilir ve girdi değiştiğinde iki değerin orta noktası hesaplanır.
- Minimum ve maksimum özellikleri orta noktaya ayarlanır, ardından girdinin genişliği güncellenir.
- Girdi boyutlandırma
- Girdi genişliği hesaplanırken, pistin gerçek girdi genişliğinden daha kısa olduğu dikkate alınmalıdır.
- Basit bir hesaplama için girdi genişliğine başparmak genişliği eklenir.
- Başparmağın ek genişliğini karşılamak için girdi sarmalayıcısına dolgu eklenir.
- Tıklamada başparmağı hareket ettirme
- Girdiler orta noktada buluşacak şekilde yeniden boyutlandırılır ve tıklandığında en yakın başparmak ilgili değere gider.
- Hata ayıklama modu açıldığında orta nokta kolayca görülebilir.
- Stil verme
- CSS kullanılarak aralık girdisi stillendirilebilir.
- Pist ve başparmağın stillendirilmesi basittir; pistin ortadaki birleşim kısmında kenar yarıçapı kaldırılır.
- Tema
- Temayı kolayca değiştirebilmek için birden fazla değişken dışa açılır.
- Varsayılan değerler sağlanır ve değişkenler ezilerek tema oluşturulabilir.
- Gradyan
- Seçilen aralık, CSS gradyanı kullanılarak boyanır.
- Gradyanı ayarlamak için
--dri-gradient-position değişkeni kullanılır ve kod içinde genişlikle birlikte güncellenir.
- Sonuç
- Bu yazı, düşünceleri düzenlemek için yazılmıştır ve yerel öğeleri denemek için ilham vermeyi amaçlar.
1 yorum
Hacker News yorumları
<input type=range>için çift değerli bir uygulama gerektiği düşünülüyor ve Firefox'ta tutamaç tıklanırken değerin bir adım değişmesine neden olan bir hata bulunuyor