jquery实现的代替传统checkbox样式插件

前端技术 2023/09/04 JavaScript

本文实例讲述了jquery实现的代替传统checkbox样式插件。分享给大家供大家参考。具体如下:

效果图如下:

具体代码如下:

(function($){
  $.fn.tzCheckbox = function(options){
    // Default On / Off labels:
    options = $.extend({
      labels : [\'ON\',\'OFF\']
    },options);
    return this.each(function(){
      var originalCheckBox = $(this),
        labels = [];
      // Checking for the data-on / data-off HTML5 data attributes:
      if(originalCheckBox.data(\'on\')){
        labels[0] = originalCheckBox.data(\'on\');
        labels[1] = originalCheckBox.data(\'off\');
      }
      else labels = options.labels;
      // Creating the new checkbox markup:
      var checkBox = $(\'<span>\',{
        className: \'tzCheckBox \'+(this.checked?\'checked\':\'\'),
        html:\'<span class=\"tzCBContent\">\'+labels[this.checked?0:1]+
            \'</span><span class=\"tzCBPart\"></span>\'
      });
      // Inserting the new checkbox, and hiding the original:
      checkBox.insertAfter(originalCheckBox.hide());
      checkBox.click(function(){
        checkBox.toggleClass(\'checked\');
        var isChecked = checkBox.hasClass(\'checked\');
        // Synchronizing the original checkbox:
        originalCheckBox.attr(\'checked\',isChecked);
        checkBox.find(\'.tzCBContent\').html(labels[isChecked?0:1]);
      });
      // Listening for changes on the original and affecting the new one:
      originalCheckBox.bind(\'change\',function(){
        checkBox.click();
      });
    });
  };
})(jQuery);

希望本文所述对大家的jQuery程序设计有所帮助。

本文地址:https://www.stayed.cn/item/9922

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。