Progress Steps Örneği

Bu yazımızda, HTML, CSS ve JavaScript kullanarak progress steps örneği oluşturacağız. Bu örnek ile şu konuları pekiştireceğiz:

  1. ☑️ İlerleme çubuğunun temel yapısını ve görünümünü HTML ve CSS ile nasıl oluşturduğunuzu.
  2. ☑️ CSS ile ilerleme çubuğu ve düğmelerin stillerini ve durumlarını nasıl yönettiğinizi.
  3. ☑️ İlerleme çubuğunun işlevselliğini JavaScript ile nasıl sağladığınızı ve adımlar arasında geçiş yapmayı nasıl başardığınızı.

Yapacağımız çalışma, çeşitli form uygulamalarında görebileceğiniz ilerleme çubuğunun işleyişini gösteren basit bir web uygulamasıdır. HTML, CSS ve JavaScript kullanarak kodlanmıştır.

Uygulama, ilerleme çubuğunu temsil eden mavi çizgi ve ilerleme adımlarını gösteren dairelerden oluşur. Önceden belirlenmiş adımlar arasında geçiş yapmak için “Prev (önceki)” ve “next (sonraki)” butonları bulunmaktadır. Örneğimizin işleyişini CodePen üzerinden inceleyebilirsiniz:

See the Pen Progress Steps by 1kodum (@1kodum) on CodePen.

⭐ HTML kodu

HTML kodu, uygulamamızın temel yapısını oluşturur. İşte bu kodun önemli bölümleri:

  • “container” adlı bir div, ilerleme adımı göstergesi ve düğmeleri içeren ana bölümü oluşturur.
  • “progress-container” adlı bir div, ilerleme çubuğunu ve adım dairelerini içerir.
    • “progress” adlı bir div, ilerleme çubuğunun mavi kısmını temsil eder.
    • “circle” adlı dört div, ilerleme adımlarını temsil eden dairelerdir. İlk daire “active” sınıfına sahiptir, bu da başlangıçta seçili olduğunu gösterir.
  • İki buton, “prev” ve “next” adımlar arasında geçiş yapmayı sağlar. “prev” butonu başlangıçta devre dışıdır (disabled özniteliği ile belirtilmiştir).

⭐ CSS kodu

Yukarıdaki CSS kodumuz, ilerleme adımı göstergesi uygulamasının genel görünümünü ve stillerini sağlayarak uygulamamızı görsel olarak çekici bir hale getirir.

  1. Genel Stil Ayarları:
    • Google Fonts’tan “Roboto” yazı tipi içe aktarılır.
    • :root içinde, ilerleme çubuğunun dolu ve boş kısımlarının renkleri tanımlanır.
    • * seçicisi ile tüm HTML elemanları için box-sizing özelliği ‘border-box’ olarak ayarlanır.
  2. Body Stil Ayarları:
    • Arka plan rengi, yazı tipi, ekran düzeni ve boyutlandırma ile ilgili stiller uygulanır.
  3. Container Stil Ayarları:
    • İçeriğin ortalanmasını sağlayan text-align: center; özelliği uygulanır.
  4. Progress-container Stil Ayarları:
    • Flexbox özellikleri, ilerleme çubuğu ve adım dairelerinin konumlandırılması için kullanılır.
    • ::before ile, ilerleme çubuğunun arka planı olarak kullanılacak boş çizgi oluşturulur.
  5. Progress Stil Ayarları:
    • İlerleme çubuğunun dolu kısmının pozisyonu, boyutu, rengi ve geçiş efekti tanımlanır.
  6. Circle Stil Ayarları:
    • Adım dairelerinin boyutu, şekli, rengi ve kenarlığı tanımlanır.
    • .active sınıfı, seçili adımın kenarlık rengini değiştirir.
  7. Button Stil Ayarları:
    • Düğmelerin arka plan rengi, yazı rengi, kenarlığı, yuvarlatılmış köşeleri, imleci, dolgu ve yazı tipi boyutu gibi stiller uygulanır.
    • Düğmelerin etkileşimli durumları (:active, :focus, :disabled) için özel stiller tanımlanır.

⭐ JavaScript kodu

Aşağıdaki JavaScript kodu, ilerleme adımı göstergesinin dinamik olarak güncellenmesini ve kullanıcıların adım numaraları arasında ilerlemelerini ve geri dönmelerini sağlar.

  1. Değişkenlerin Tanımlanması:
    • progress, prev, next ve circles gibi DOM elemanlarını seçmek için değişkenler tanımlanır.
    • currentActive değişkeni, şu anda etkin olan adımın numarasını saklar ve başlangıç değeri olarak 1 atanır.
  2. Next (İleri) Düğmesi İşleyicisi:
    • next düğmesine tıklanması durumunda, currentActive değeri arttırılır.
    • Eğer currentActive değeri, circles uzunluğunu aşarsa, değeri circles uzunluğuna eşitlenir.
    • Son olarak, update() fonksiyonu çağrılır.
  3. Prev (Geri) Düğmesi İşleyicisi:
    • prev düğmesine tıklanması durumunda, currentActive değeri azaltılır.
    • Eğer currentActive değeri 1’den küçükse, değeri 1’e eşitlenir.
    • Son olarak, update() fonksiyonu çağrılır.
  4. Update() Fonksiyonu:
    • circles üzerinde bir döngü başlatır ve eğer idx (index), currentActive değerinden küçükse, circle‘a “active” sınıfı eklenir; aksi takdirde “active” sınıfı kaldırılır.
    • actives değişkeni, şu anda “active” sınıfına sahip tüm elemanları seçer.
    • İlerleme çubuğunun genişliği, etkin dairelerin sayısına göre güncellenir.
    • currentActive değerine göre “Prev” ve “Next” düğmelerinin etkinlik durumu güncellenir.

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu