CSS定义Radio单选项和Checkbox复选框样式有效代码怎么写
发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,本篇文章为大家展示了CSS定义Radio单选项和Checkbox复选框样式有效代码怎么写,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。我们都知道一般情况利用c
千家信息网最后更新 2025年01月16日CSS定义Radio单选项和Checkbox复选框样式有效代码怎么写
Js代码
var FancyForm = {
start: function(elements, options){
FancyForm.initing = 1;
if($type(elements)!=’array’) elements = $$(‘input’);
if(!options) options = [];
FancyForm.onclasses = ($type(options['onClasses']) == ’object’) ? options['onClasses'] : {
checkbox: ’checked’,
radio: ’selected’
}
FancyForm.offclasses = ($type(options['offClasses']) == ’object’) ? options['offClasses'] : {
checkbox: ’unchecked’,
radio: ’unselected’
}
if($type(options['extraClasses']) == ’object’){
FancyForm.extra = options['extraClasses'];
} else if(options['extraClasses']){
FancyForm.extra = {
checkbox: ’f_checkbox’,
radio: ’f_radio’,
on: ’f_on’,
off: ’f_off’,
all: ’fancy’
}
} else {
FancyForm.extra = {};
}
FancyForm.onSelect = $pick(options['onSelect'], function(el){});
FancyForm.onDeselect = $pick(options['onDeselect'], function(el){});
var keeps = [];
FancyForm.chks = elements.filter(function(chk){
if( $type(chk) != ’element’ ) return false;
if( chk.get(‘tag’) == ’input’ && (FancyForm.onclasses[chk.getProperty('type')]) ){
var el = chk.getParent();
if(el.getElement(‘input’)==chk){
el.type = chk.getProperty(‘type’);
el.inputElement = chk;
this.push(el);
} else {
chk.addEvent(‘click’,function(f){
if(f.event.stopPropagation) f.event.stopPropagation();
});
}
} else if( (chk.inputElement = chk.getElement(‘input’)) && (FancyForm.onclasses[(chk.type = chk.inputElement.getProperty('type'))]) ){
return true;
}
return false;
}.bind(keeps));
FancyForm.chks = FancyForm.chks.combine(keeps);
keeps = null;
FancyForm.chks.each(function(chk){
var c = chk.inputElement;
c.setStyle(‘position’, ’absolute’);
c.setStyle(‘left’, ’-9999px’);
chk.addEvent(‘selectStart’, function(f){f.stop()});
chk.name = c.getProperty(‘name’);
FancyForm.update(chk);
});
FancyForm.chks.each(function(chk){
var c = chk.inputElement;
chk.addEvent(‘click’, function(f){
f.stop(); f.type = ’prop’;
c.fireEvent(‘click’, f, 1);
});
chk.addEvent(‘mousedown’, function(f){
if($type(c.onmousedown) == ’function’)
c.onmousedown();
f.preventDefault();
});
chk.addEvent(‘mouseup’, function(f){
if($type(c.onmouseup) == ’function’)
c.onmouseup();
});
c.addEvent(‘focus’, function(f){
if(FancyForm.focus)
chk.setStyle(‘outline’, ’1px dotted’);
});
c.addEvent(‘blur’, function(f){
chk.setStyle(‘outline’, 0);
});
c.addEvent(‘click’, function(f){
if(f.event.stopPropagation) f.event.stopPropagation();
if(c.getProperty(‘disabled’)) // c.getStyle(‘position’) != ’absolute’
return;
if (!chk.hasClass(FancyForm.onclasses[chk.type]))
c.setProperty(‘checked’, ’checked’);
else if(chk.type != ’radio’)
c.setProperty(‘checked’, false);
if(f.type == ’prop’)
FancyForm.focus = 0;
FancyForm.update(chk);
FancyForm.focus = 1;
if(f.type == ’prop’ && !FancyForm.initing && $type(c.onclick) == ’function’)
c.onclick();
});
c.addEvent(‘mouseup’, function(f){
if(f.event.stopPropagation) f.event.stopPropagation();
});
c.addEvent(‘mousedown’, function(f){
if(f.event.stopPropagation) f.event.stopPropagation();
});
if(extraclass = FancyForm.extra[chk.type])
chk.addClass(extraclass);
if(extraclass = FancyForm.extra['all'])
chk.addClass(extraclass);
});
FancyForm.initing = 0;
$each($$(‘form’), function(x) {
x.addEvent(‘reset’, function(a) {
window.setTimeout(function(){FancyForm.chks.each(function(x){FancyForm.update(x);x.inputElement.blur()})}, 200);
});
});
},
update: function(chk){
if(chk.inputElement.getProperty(‘checked’)) {
chk.removeClass(FancyForm.offclasses[chk.type]);
chk.addClass(FancyForm.onclasses[chk.type]);
if (chk.type == ’radio’){
FancyForm.chks.each(function(other){
if (other.name == chk.name && other != chk) {
other.inputElement.setProperty(‘checked’, false);
FancyForm.update(other);
}
});
}
if(extraclass = FancyForm.extra['on'])
chk.addClass(extraclass);
if(extraclass = FancyForm.extra['off'])
chk.removeClass(extraclass);
if(!FancyForm.initing)
FancyForm.onSelect(chk);
} else {
chk.removeClass(FancyForm.onclasses[chk.type]);
chk.addClass(FancyForm.offclasses[chk.type]);
if(extraclass = FancyForm.extra['off'])
chk.addClass(extraclass);
if(extraclass = FancyForm.extra['on'])
chk.removeClass(extraclass);
if(!FancyForm.initing)
FancyForm.onDeselect(chk);
}
if(!FancyForm.initing)
chk.inputElement.focus();
},
all: function(){
FancyForm.chks.each(function(chk){
chk.inputElement.setProperty(‘checked’, ’checked’);
FancyForm.update(chk);
});
},
none: function(){
FancyForm.chks.each(function(chk){
chk.inputElement.setProperty(‘checked’, false);
FancyForm.update(chk);
});
}
};
window.addEvent(‘domready’, function(){
FancyForm.start();
});
本篇文章为大家展示了CSS定义Radio单选项和Checkbox复选框样式有效代码怎么写,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
我们都知道一般情况利用css来定义Radio单选项和Checkbox复选框样式是无效的,下面我来给大家介绍利用CSS定义Radio单选项和Checkbox复选框样式,有需要了解的朋友可参考。
完全使用css来实例
代码如下:
利用js来实例
Html代码
代码如下:
Js代码
var FancyForm = {
start: function(elements, options){
FancyForm.initing = 1;
if($type(elements)!=’array’) elements = $$(‘input’);
if(!options) options = [];
FancyForm.onclasses = ($type(options['onClasses']) == ’object’) ? options['onClasses'] : {
checkbox: ’checked’,
radio: ’selected’
}
FancyForm.offclasses = ($type(options['offClasses']) == ’object’) ? options['offClasses'] : {
checkbox: ’unchecked’,
radio: ’unselected’
}
if($type(options['extraClasses']) == ’object’){
FancyForm.extra = options['extraClasses'];
} else if(options['extraClasses']){
FancyForm.extra = {
checkbox: ’f_checkbox’,
radio: ’f_radio’,
on: ’f_on’,
off: ’f_off’,
all: ’fancy’
}
} else {
FancyForm.extra = {};
}
FancyForm.onSelect = $pick(options['onSelect'], function(el){});
FancyForm.onDeselect = $pick(options['onDeselect'], function(el){});
var keeps = [];
FancyForm.chks = elements.filter(function(chk){
if( $type(chk) != ’element’ ) return false;
if( chk.get(‘tag’) == ’input’ && (FancyForm.onclasses[chk.getProperty('type')]) ){
var el = chk.getParent();
if(el.getElement(‘input’)==chk){
el.type = chk.getProperty(‘type’);
el.inputElement = chk;
this.push(el);
} else {
chk.addEvent(‘click’,function(f){
if(f.event.stopPropagation) f.event.stopPropagation();
});
}
} else if( (chk.inputElement = chk.getElement(‘input’)) && (FancyForm.onclasses[(chk.type = chk.inputElement.getProperty('type'))]) ){
return true;
}
return false;
}.bind(keeps));
FancyForm.chks = FancyForm.chks.combine(keeps);
keeps = null;
FancyForm.chks.each(function(chk){
var c = chk.inputElement;
c.setStyle(‘position’, ’absolute’);
c.setStyle(‘left’, ’-9999px’);
chk.addEvent(‘selectStart’, function(f){f.stop()});
chk.name = c.getProperty(‘name’);
FancyForm.update(chk);
});
FancyForm.chks.each(function(chk){
var c = chk.inputElement;
chk.addEvent(‘click’, function(f){
f.stop(); f.type = ’prop’;
c.fireEvent(‘click’, f, 1);
});
chk.addEvent(‘mousedown’, function(f){
if($type(c.onmousedown) == ’function’)
c.onmousedown();
f.preventDefault();
});
chk.addEvent(‘mouseup’, function(f){
if($type(c.onmouseup) == ’function’)
c.onmouseup();
});
c.addEvent(‘focus’, function(f){
if(FancyForm.focus)
chk.setStyle(‘outline’, ’1px dotted’);
});
c.addEvent(‘blur’, function(f){
chk.setStyle(‘outline’, 0);
});
c.addEvent(‘click’, function(f){
if(f.event.stopPropagation) f.event.stopPropagation();
if(c.getProperty(‘disabled’)) // c.getStyle(‘position’) != ’absolute’
return;
if (!chk.hasClass(FancyForm.onclasses[chk.type]))
c.setProperty(‘checked’, ’checked’);
else if(chk.type != ’radio’)
c.setProperty(‘checked’, false);
if(f.type == ’prop’)
FancyForm.focus = 0;
FancyForm.update(chk);
FancyForm.focus = 1;
if(f.type == ’prop’ && !FancyForm.initing && $type(c.onclick) == ’function’)
c.onclick();
});
c.addEvent(‘mouseup’, function(f){
if(f.event.stopPropagation) f.event.stopPropagation();
});
c.addEvent(‘mousedown’, function(f){
if(f.event.stopPropagation) f.event.stopPropagation();
});
if(extraclass = FancyForm.extra[chk.type])
chk.addClass(extraclass);
if(extraclass = FancyForm.extra['all'])
chk.addClass(extraclass);
});
FancyForm.initing = 0;
$each($$(‘form’), function(x) {
x.addEvent(‘reset’, function(a) {
window.setTimeout(function(){FancyForm.chks.each(function(x){FancyForm.update(x);x.inputElement.blur()})}, 200);
});
});
},
update: function(chk){
if(chk.inputElement.getProperty(‘checked’)) {
chk.removeClass(FancyForm.offclasses[chk.type]);
chk.addClass(FancyForm.onclasses[chk.type]);
if (chk.type == ’radio’){
FancyForm.chks.each(function(other){
if (other.name == chk.name && other != chk) {
other.inputElement.setProperty(‘checked’, false);
FancyForm.update(other);
}
});
}
if(extraclass = FancyForm.extra['on'])
chk.addClass(extraclass);
if(extraclass = FancyForm.extra['off'])
chk.removeClass(extraclass);
if(!FancyForm.initing)
FancyForm.onSelect(chk);
} else {
chk.removeClass(FancyForm.onclasses[chk.type]);
chk.addClass(FancyForm.offclasses[chk.type]);
if(extraclass = FancyForm.extra['off'])
chk.addClass(extraclass);
if(extraclass = FancyForm.extra['on'])
chk.removeClass(extraclass);
if(!FancyForm.initing)
FancyForm.onDeselect(chk);
}
if(!FancyForm.initing)
chk.inputElement.focus();
},
all: function(){
FancyForm.chks.each(function(chk){
chk.inputElement.setProperty(‘checked’, ’checked’);
FancyForm.update(chk);
});
},
none: function(){
FancyForm.chks.each(function(chk){
chk.inputElement.setProperty(‘checked’, false);
FancyForm.update(chk);
});
}
};
window.addEvent(‘domready’, function(){
FancyForm.start();
});
上述内容就是CSS定义Radio单选项和Checkbox复选框样式有效代码怎么写,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
代码
样式
复选框
有效
内容
实例
技能
知识
简明
简明扼要
就是
情况
文章
更多
朋友
篇文章
行业
资讯
资讯频道
频道
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
qq实现的网络技术
工业opc服务器软件
未来十年网络技术
奇安信大数据网络安全与运营
软件测试什么时候需要用的数据库
网络技术发展带来的影响
阿里云服务器主机安装
如何加入服务器管理
宁波鄞州区软件开发哪家好
ctf网络安全大赛属于电竞吗
网络安全网络犯罪的问题
陕西数据库安全防护系统
郴州正规软件开发服务
金融产业gdp具体数据库
goby设置数据库
2018在家软件开发
拉丁文字体软件开发
网络技术实践实训期末考试
被资本盯上的国产数据库
工作一年自学软件开发
如何加入服务器管理
数据库流量同步
中国数据中心数量与服务器数量
数据库关系图无法生成
网络安全法剖析
软件开发流程微盘
安卓数据库的清单文件
浙江省网络安全学校
移动网络技术的变化
数据库逻辑主键用途