jQuery Academy · Ders

Yapılandırılabilir ve Yeniden Kullanılabilir Eklentiler Oluşturma

Varsayılan seçeneklere sahip eklentiler geliştirin, kullanıcıların ayarları geçersiz kılmasına olanak tanıyın ve eklentilerinizi farklı projelerde çok az çabayla yeniden kullanılabilir hâle getirin.

2. ders / 311 adım

Yapılandırılabilir ve Yeniden Kullanılabilir Eklentiler Oluşturma, CoddyKit'te ücretsiz bir jQuery Academy dersidir. Bu, 3 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, jQuery Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. jQuery Academy kursu toplamda 3 dersten oluşur.

Yapılandırılabilir Eklentilere Giriş

Hoş geldiniz! Bu derste jQuery eklentilerinizi nasıl esnek ve kolayca uyarlanabilir hâle getireceğinizi öğreneceksiniz. Birkaç seçenek sağlayarak rengini, hızını veya metnini değiştirebileceğiniz bir eklenti düşünün.

Bu, kodu yeniden yazmaya gerek kalmadan birçok farklı projede kullanılabilecek araçlar oluşturmak için çok önemlidir.

Varsayılan Seçenekler Neden Kullanılır?

Eklentiler kutudan çıktığı hâliyle çalışmalı, ancak özelleştirmeye de izin vermelidir. Varsayılan seçenekler bu noktada devreye girer.

  • Temel davranış: Eklentinin nasıl çalışacağına dair standart bir yol sağlar.
  • Kullanım kolaylığı: Kullanıcılar her ayarı belirtmek zorunda kalmadan eklentiyi başlatabilir.
  • Esneklik: Kullanıcılar eklentiyi ihtiyaçlarına göre uyarlamak için varsayılan değerleri değiştirebilir.

Eklenti Varsayılanlarını Tanımlama

Varsayılan seçenekleri eklentinizin içinde bir nesne olarak tanımlarsınız. Bu nesne, eklentinizin kullanabileceği tüm ayarları ve bunların başlangıç değerlerini içerir.

Varsayılanların nasıl tanımlandığını görmek için bu temel eklenti yapısını çalıştırmayı deneyin.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<div id="myElement">Hello</div>
<script>
(function($) {
  $.fn.myPlugin = function(options) {
    // Define default settings here
    var defaults = {
      color: "blue",
      fontSize: "16px",
      message: "Default message!"
    };
    
    // For now, let's just log the defaults
    console.log("Plugin defaults:", defaults);
    
    return this; // Always return 'this' for chaining
  };
})(jQuery);

$(document).ready(function() {
  $('#myElement').myPlugin();
});
</script>

Kullanıcı Seçeneklerini Birleştirme: $.extend()

Kullanıcıların ayarları özelleştirmesine izin vermek için sağladıkları seçenekleri varsayılanlarınızla birleştirmeniz gerekir. jQuery'nin $.extend() yöntemi bunun için idealdir.

$.extend({}, defaults, options), önce defaults içindeki özellikleri kopyalayarak yeni bir nesne oluşturur, ardından varsa options içindeki özelliklerle bunların üzerine yazar.

$.extend() Uygulamada

$.extend() yöntemini eklentinizin içinde şu şekilde kullanırsınız. Kullanıcının color ve text değerlerinin varsayılanların üzerine yazdığına, ancak sağlanmadığı için fontSize değerinin varsayılanlardan kaldığına dikkat edin.

Bu kodu çalıştırın ve konsol çıktısını kontrol edin!

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<script>
(function($) {
  $.fn.myPlugin = function(options) {
    var defaults = {
      text: "Default text",
      color: "blue",
      fontSize: "16px"
    };
    
    // Merge defaults with user-provided options
    var settings = $.extend({}, defaults, options);
    
    console.log("Final settings:", settings);
    
    return this; // Keep chaining ability
  };
})(jQuery);

$(document).ready(function() {
  // User provides custom options
  $('body').myPlugin({
    text: "Custom Text!",
    color: "red"
  });
});
</script>

Birleştirilmiş Ayarlara Erişme

settings nesnesine (birleştirilmiş varsayılanları ve kullanıcı seçeneklerini içerir) sahip olduğunuzda, settings.color veya settings.animationSpeed gibi nokta gösterimini kullanarak istediğiniz özelliğe kolayca erişebilirsiniz.

Bu, eklentinizin her zaman doğru ve son yapılandırmayı kullanmasını sağlar.

Uygulamalı İpucu Eklentisi

Kullanıcıların metnini, arka plan rengini ve görünmeden önceki gecikmeyi özelleştirmesine olanak tanıyan basit bir ipucu eklentisi oluşturalım. Bu örnek, yapılandırılabilir seçeneklerin eklentileri nasıl çok daha kullanışlı hâle getirdiğini gösterir.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<style>
  .coddy-tooltip { /* Use unique class name */
    position: absolute;
    background-color: #333;
    color: white;
    padding: 5px 8px;
    border-radius: 3px;
    display: none;
    font-family: sans-serif;
    font-size: 14px;
  }
</style>
<button id="hoverMe">Hover Over Me</button>
<script>
(function($) {
  $.fn.coddyTooltip = function(options) {
    var defaults = {
      text: "Default Tooltip",
      bgColor: "#333",
      textColor: "white",
      delay: 200 // ms before showing
    };
    var settings = $.extend({}, defaults, options);

    return this.each(function() {
      var $this = $(this);
      var $tooltip = $('<div class="coddy-tooltip"></div>')
                       .text(settings.text)
                       .css({
                         'background-color': settings.bgColor,
                         'color': settings.textColor
                       })
                       .appendTo('body');

      var timeoutId; // To clear previous timeouts

      $this.on('mouseenter', function() {
        clearTimeout(timeoutId);
        timeoutId = setTimeout(function() {
          var offset = $this.offset();
          $tooltip.css({
            top: offset.top - $tooltip.outerHeight() - 5,
            left: offset.left + ($this.outerWidth() / 2) - 
                   ($tooltip.outerWidth() / 2)
          }).fadeIn(100);
        }, settings.delay);
      }).on('mouseleave', function() {
        clearTimeout(timeoutId);
        $tooltip.fadeOut(100);
      });
    });
  };
})(jQuery);

$(document).ready(function() {
  // Initialize the tooltip with custom options
  $('#hoverMe').coddyTooltip({
    text: "Hello from CoddyKit!",
    bgColor: "darkblue",
    delay: 500
  });
});
</script>

Yeniden Kullanım İçin Tasarlama

Yapılandırmanın ötesinde, gerçekten sağlam bir eklenti yeniden kullanılabilir olmalıdır. Bu, herhangi bir projeye eklenebilmesi ve çakışma ya da özel bir kurulum olmadan çalışabilmesi anlamına gelir.

  • Kapsülleme: Kodunuzu gizli tutmak için bir IIFE (function($){...})(jQuery); kullanın.
  • `this.each()`: Mantığı eşleşen tüm öğelere uygulamak için seçilen öğeler üzerinde her zaman yineleme yapın.
  • Genel alanı kirletmeme: Genel değişkenler veya işlevler oluşturmaktan kaçının.
  • Kendi kendine yeterli mantık: Açıkça belgelenmedikçe eklentiniz harici betiklere veya stillere bağlı olmamalıdır.

`this.each()` Kullanımının Önemi

Kullanıcı eklentinizi $('.my-class').myPlugin() gibi bir seçim üzerinde çağırdığında jQuery birden fazla öğe döndürebilir. return this.each(function(){ ... }); deseni, eklentinizin mantığının bu seçimdeki her bir öğe için çalışmasını sağlar.

each geri çağırmasında this, işlenmekte olan geçerli DOM öğesini ifade eder.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<div class="item">Item 1</div>
<div class="item">Item 2</div>
<script>
(function($) {
  $.fn.highlight = function(options) {
    var defaults = {
      color: "yellow"
    };
    var settings = $.extend({}, defaults, options);

    return this.each(function() {
      // 'this' refers to the current DOM element in the loop
      $(this).css('background-color', settings.color);
    });
  };
})(jQuery);

$(document).ready(function() {
  // Apply highlight to all elements with class 'item'
  $('.item').highlight({ color: "lightblue" });
});
</script>

Hızlı Kontrol: Eklenti İçin En İyi Uygulamalar

Yapılandırılabilir ve yeniden kullanılabilir jQuery eklentileri oluşturma konusundaki anlayışınızı test edelim!

Özet: Yapılandırılabilir ve Yeniden Kullanılabilir

Güçlü ve uyarlanabilir jQuery eklentileri oluşturmayı öğrendiniz!

  • Temel davranış için varsayılan seçenekleri tanımlayın.
  • Özelleştirmeye izin vermek ve kullanıcı seçeneklerini birleştirmek için $.extend() kullanın.
  • Eklentinizin birden fazla seçili öğeyle çalışmasını sağlamak için return this.each() kullanın.
  • Yeniden kullanılabilirlik sağlamak ve genel çakışmaları önlemek için kodunuzu bir IIFE içinde kapsülleyin.

Bu teknikler eklentilerinizi sağlam, esnek ve her projeye hazır hâle getirir!

Başlamak ücretsiz

Yapay zeka eğitmeniyle JavaScript öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
22
Dersler
48

Sıkça Sorulan Sorular

“Yapılandırılabilir ve Yeniden Kullanılabilir Eklentiler Oluşturma” dersi ücretsiz mi?

Evet — “Yapılandırılabilir ve Yeniden Kullanılabilir Eklentiler Oluşturma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve jQuery Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. jQuery Academy kursu toplamda 3 dersten oluşur.

“Yapılandırılabilir ve Yeniden Kullanılabilir Eklentiler Oluşturma” dersinde ne öğreneceğim?

Varsayılan seçeneklere sahip eklentiler geliştirin, kullanıcıların ayarları geçersiz kılmasına olanak tanıyın ve eklentilerinizi farklı projelerde çok az çabayla yeniden kullanılabilir hâle getirin. jQuery Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

jQuery Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te jQuery Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 2. dersidir.

“Yapılandırılabilir ve Yeniden Kullanılabilir Eklentiler Oluşturma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu jQuery Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her jQuery Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Eklenti Tasarım Kalıpları ve Kapsamlandırma
  2. Yapılandırılabilir ve Yeniden Kullanılabilir Eklentiler Oluşturma
  3. Genel Yöntemleri ve Geri Çağrıları Entegre Etme
← jQuery Academy Sayfasına Dön