jquery实现的代替传统checkbox样式插件
作者:bea
本文实例讲述了jquery实现的代替传统checkbox样式插件。分享给大家供大家参考。具体如下: 效果图如下: 具体代码如下: (function($){ $.fn.tzCheckbox = function(options){ // Default On / Off labels: options = $.extend({ labels : ['ON','OFF'] },options); return this.each(fun
本文实例讲述了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程序设计有所帮助。
有用 | 无用
效果图如下:
具体代码如下:
(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程序设计有所帮助。
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- javascript框架设计之框架分类及主要功能
- js的flv视频播放器插件使用方法
- 使用Raygun来自动追踪AngularJS中的异常
- 使用JavaScript的AngularJS库编写hello world的方法
- 浅谈setTimeout 与 setInterval
- 简介可以自动完成UI的AngularJS工具angular-smarty
- javascript中传统事件与现代事件
- 浅谈jquery中delegate()与live()
- jquery 中ajax执行的优先级
- jquery中ready()函数执行的时机和window的load事件比较
- jquery中toggle函数交替使用问题
- 浅谈js 闭包引起的内存泄露问题
- js闭包所用的场合以及优缺点分析
- JavaScript创建闭包的两种方式的优劣与区别分析
- javascript中使用new与不使用实例化对象的区别
- 浅谈javascript构造函数与实例化对象
- jquery分析文本里url或邮件地址为真实链接的方法
- jQuery实现文本框输入同步的方法
- jQuery实现带滚动导航效果的全屏滚动相册实例