LazyForm jQuery plugin 定制您的CheckBox 

LWJ随缘

LWJ随缘

2016-02-19 15:06

下面图老师小编要向大家介绍下LazyForm jQuery plugin 定制您的CheckBox ,看起来复杂实则是简单的,掌握好技巧就OK,喜欢就赶紧收藏起来吧!

打包下载

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

在下面浏览器下测试通过:Firefox, IE7, IE8, Google浏览器。 (IE6还是算了吧),其它浏览器还没试过。
目前刚添加了4个皮肤,添加新皮肤非常方便,您可以参考已添加的皮肤图片和css代码,相信您会很快搞定。

效果截图:
一、在没有使用LazyForm的情况下,在XP下运行截图如下

二、使用LazyForm(皮肤Blue)效果如下

三、使用LazyForm(皮肤Black)效果如下

四、皮肤Default

五、皮肤Gray

demo.html代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)代码如下:
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
html xmlns="http://www.w3.org/1999/xhtml"
head
meta http-equiv="Content-Type" content="text/html; charset=utf-8" /
titledemo-lazyform/title
script type="text/javascript" src="js/jquery.min.js"/script
script type="text/javascript" src="js/lazyform.js"/script
link type="text/css" rel="stylesheet" href="css/blue/lazyform.css" id="lazyFormSkin" /
style type="text/css"
body
{
font: 12px Simsun, Arial, Helvetica, sans-serif;
line-height: 20px;
}
/style

script type="text/javascript"
$(function() {
$('#form1').submit(function() {
var skin = $('#ddlSkin option:selected').val();
$('#lazyFormSkin').attr('href', 'css/' + skin + '/lazyform.css');
skin = 'Skin: ' + skin;

var gender = 'Gender: ' +
$('input[name=gender]:checked').val();
var gender2 = 'Gender2: ' +
$('input[name=gender2]:checked').val();

var hobby = 'Hobby: ' +
($('#cbxBaskball').is(':checked') ? $('#cbxBaskball').val() + ' ' : '') +
($('#cbxFootball').is(':checked') ? $('#cbxFootball').val() + ' ' : '') +
($('#cbxSwimming').is(':checked') ? $('#cbxSwimming').val() + ' ' : '');
var hobby2 = "Hobby2: " +
($('#cbxBaskball2').is(':checked') ? $('#cbxBaskball2').val() + ' ' : '') +
($('#cbxFootball2').is(':checked') ? $('#cbxFootball2').val() + ' ' : '') +
($('#cbxSwimming2').is(':checked') ? $('#cbxSwimming2').val() + ' ' : '');

var country = 'Country: ' + $('#ddlCountry option:selected').text();
var country2 = 'Country2: ' + $('#ddlCountry2 option:selected').text();

$('#result').html(skin + 'br /' + gender + 'br /' + gender2 + 'br /' +
hobby + 'br /' + hobby2 + 'br /' + country + 'br /' + country2);

return false;
});
});
/script
/head

body
form id="form1" method="post" action="javascript:alert('success!');"
p
label for="Skin"Skin:/label
select id="ddlSkin"
option value="Blue"Blue/option
option value="Black"Black/option
option value="Default"Default/option
option value="Gray" Gray/option
/select
/p

p
label for="Gender"Gender:/label
br /
input type="radio" id="rdoMale" name="gender" value="Male" checked="checked" /
Male

br /
input type="radio" id="rdoFemale" name="gender" value="Female" /
Female
/p

p
label for="Gender"Gender2:/label
input type="radio" id="rdoMale2" name="gender2" value="Male2" /
Male2

input type="radio" id="rdoFemale2" name="gender2" value="Female2" checked="checked" /
Female2
/p


p
label for="Hobby"Hobby:/label
br /
input type="checkbox" id="cbxBaskball" value="Baskball" checked="checked" /
Baskball

br /
input type="checkbox" id="cbxFootball" value="Football" checked="checked" /
Football

br /
input type="checkbox" id="cbxSwimming" value="Swimming" /
Swimming
/p

p
label for="Hobby"Hobby2:/label
input type="checkbox" id="cbxBaskball12" value="Baskball2" checked="checked" /
Baskball12

input type="checkbox" id="cbxFootball2" value="Football2" /
Football2a

input type="checkbox" id="cbxSwimming2" value="Swimming2" checked="checked" /
Swimming2
/p

p
label for="Country"Country:/label
br /
select id="ddlCountry"
option value="China" selected="selected"China/option
option value="United States" United States/option
option value="Canada" Canada/option
option value="Holland"Holland/option
/select
/p

p
label for="Country"Country2:/label
select id="ddlCountry2" style="width: 350px;"
option value="China2"China2/option
option value="United States2" selected="selected"United States2/option
option value="Canada2" Canada2/option
option value="Holland2"Holland2/option
/select
/p

p
input type="submit" value="submit" /
/p

p id="result"/p
/form
/body
/html

从代码你就可以看到,LazyForm没有动您的Html和Css样式一根汗毛。
想让Select变长,设置个长度就可以了。
把LazyForm.js去掉,就是您的原样。没有任何改变。

LazyForm源码:
代码如下:
(function($) {
/* ------------------------------------------------------------------------
LazyForm 1.0
Copyright (c) 2009, ZhangPeng Chen, peng1988@gmail.com
------------------------------------------------------------------------- */
$.lazyform = $.lazyform || {};
$.extend($.lazyform, {
_inputs : null,
_selects: null,

init: function() {
_inputs = $('input[type=checkbox], input[type=radio]');
_inputs.each($.lazyform._initInput);

_selects = $('select');
_selects.each($.lazyform._initSelect);

$(document).click(function() {
$('div.select div.open').removeClass().next('ul').hide();
});
},

_initInput: function() {
var $self = $(this);
var self = this;
var radio = $self.is(':radio');

var id = radio ? (self.type + '-' + self.name + '-' + self.id) : (self.type + '-' + self.id);
var className = self.type + (self.checked ? '-checked' : '');
var hover = false;

var $span = $('span /')
.attr({
'id': id,
'class': className
})
.bind('mouseover mouseout', function() {
hover = !hover;
$span.attr('class', self.type + (self.checked ? '-checked' : '') + (hover ? '-hover' : ''));
})
.bind('click', function() {
if(radio) {
$('input[name=' + self.name + ']').each(function() {
$('#' + self.type + '-' + self.name + '-' + this.id).attr('class', self.type);
})
}

self.click();
$span.attr('class', self.type + (self.checked ? '-checked' : ''));
});

$self.addClass('hidden').before($span);
},

_$openSelect: null,
_initSelect: function() {
var $self = $(this);
var self = this;

var selectWidth = $self.width();
var selectUlWidth = $self.width() - 2;

var $select = $('div /').attr('id', 'select-' + self.id).width(selectWidth).addClass('select');
var $selectItem = $('div /').append('span /');
var $selectItemText = $selectItem.children('span');
var $selectUl = $('ul /').width(selectUlWidth).hide();
var $selectLi = null;
var $hoverLi = null;

$self.children().each(function() {
var $tempLi = $('li /').append(this.text);
if(this.selected) {
$tempLi.addClass('hover');
$selectItemText.text(this.text);

$selectLi = $tempLi;
$hoverLi = $tempLi;
}
$selectUl.append($tempLi);

$tempLi
.bind('mouseover', function() {
$hoverLi.removeClass();
$tempLi.addClass('hover');
$hoverLi = $tempLi;
})
.bind('click', function() {
$self.children().each(function() {
if($hoverLi && this.text == $hoverLi.text()) {
$tempLi.addClass('hover');
this.selected = true;

$selectLi = $tempLi;
$hoverLi = $tempLi;
}
});

$selectItem.removeClass();
$selectItemText.text($selectLi.text());
$selectUl.hide();
});
});

$selectItem.click(function(e) {
if($.lazyform._$openSelect && $.lazyform._$openSelect != $select) {
$('#' + $.lazyform._$openSelect.attr('id') + ' div.open').removeClass().next('ul').hide();
}
$.lazyform._$openSelect = $select;

$selectItem.toggleClass('open');
if($selectItem.attr('class') == 'open') {
if($hoverLi != $selectLi) {
$hoverLi.removeClass();
$selectLi.attr('class', 'hover');
$hoverLi = $selectLi;
}
$selectUl.show();
} else {
$selectUl.hide();
}

e.stopPropagation();
});

$select.append($selectItem);
$select.append($selectUl);

$self.hide().before($select);
}
});

$(document).ready(function() {
$.lazyform.init();
});
})(jQuery);

展开更多 50%)
分享

猜你喜欢

LazyForm jQuery plugin 定制您的CheckBox 

Web开发
LazyForm jQuery plugin 定制您的CheckBox 

JQuery 无废话系列教程(一) jquery入门 [推荐]

Web开发
JQuery 无废话系列教程(一) jquery入门 [推荐]

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

jquery tagname 取得方法

Web开发
jquery tagname 取得方法

jQuery 插件开发 其实很简单

Web开发
jQuery 插件开发 其实很简单

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

初试jQuery EasyUI 使用介绍

Web开发
初试jQuery EasyUI 使用介绍

jQuery slider Content(左右控制移动)

Web开发
jQuery slider Content(左右控制移动)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

JQuery困惑—包装集 DOM节点

JQuery困惑—包装集 DOM节点

Word文档批量转换成TXT格式的技巧

Word文档批量转换成TXT格式的技巧
下拉加载更多内容 ↓