您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

自写的一个jQuery圆角插件_jquery

2024/2/25 18:19:26发布15次查看
原理是利用1px的div,具体实现看代码。
使用方法:
复制代码 代码如下:
$('.test').rounder();
这样会根据默认的设置产生一个圆角框,效果如图:
圆角处会有点锯齿:(
如果仅此而已,那肯定是不够的。我们会想加上自己的一个样式该怎么办?使用方法:
复制代码 代码如下:
$('.test').rounder({bordercolor:'red',backgroundcolor:'#eee',color:'blue'});
效果如图:
接下来我就来讲讲实现过程了,先附上jquery代码如下:
复制代码 代码如下:
(function($){
$.fn.rounder=function(options){
var setting=$.extend({backgroundcolor:'#fff',bordercolor:'#aaa',color:'#000'},options||{});
this.each(function(){
var source=$(this);
var container=source.parents(.mapping_rounder);
if(container.size()container=$('
');
source.before(container);
//添加1pxdiv
container.append('
');
container.find('.rounder_content').append(source);
//保持原有的形态,如:高度、宽度等
container.width(source.width());
source.width(source.width()-12);
container.height(source.height());
source.height(source.height()-8);
source.css('lineheight',source.height()+'px');
container.css('margintop',source.css('margintop'));
source.css('margintop',0);
container.css('marginbottom',source.css('marginbottom'));
source.css('marginbottom',0);
container.css('marginleft',source.css('marginleft'));
source.css('marginleft',0);
container.css('marginright',source.css('marginright'));
source.css('marginright',0);
}
//给1pxdiv添加样式以产生圆角边框的效果
container.find('.rounder_px3').css('backgroundcolor',setting.bordercolor);
container.find('.rounder_px2').css({bordercolor:setting.bordercolor,backgroundcolor:setting.backgroundcolor});
container.find('.rounder_px1').css({bordercolor:setting.bordercolor,backgroundcolor:setting.backgroundcolor});
container.find('.rounder_px0').css({bordercolor:setting.bordercolor,backgroundcolor:setting.backgroundcolor});
container.find('.rounder_content').css({bordercolor:setting.bordercolor,backgroundcolor:setting.backgroundcolor});
//去除原有的样式
source.css('borderstyle','none');
source.css('backgroundcolor',setting.backgroundcolor);
source.css('color',setting.color);
});
}
})(jquery);
css文件代码:
复制代码 代码如下:
.rounder_content{padding:0 5px;border-left:1px solid;border-right:1px solid;}
.rounder_px0{margin:0;height:2px;border-left:2px solid;border-right:2px solid;overflow:hidden;}
.rounder_px1{margin:0 1px;height:1px;border-left:2px solid;border-right:2px solid;overflow:hidden;}
.rounder_px2{margin:0 2px;height:1px;border-left:3px solid;border-right:3px solid;overflow: hidden;}
.rounder_px3{margin:0 3px;height:1px;background:#aaa;overflow:hidden;}
本来这个css文件的样式都可以用jquery加上去,但那样会多很多代码,且让我在此偷下懒- -|||。样式里面加上overflow:hidden;的目的是为了兼容ie6,因为在ie6里面div会有个默认的最小高度,好像是13px。
功能非常简单,但可以应用到我们常见的应用中,如下:
复制代码 代码如下:
即文本框加上圆角,获取焦点时呈现一种样式,失去焦点时再呈现另一种样式。
当然,我们可以通过和jquery本身强大的功能结合来满足不同的需求。
优点:
体积小,两个文件经过压缩后只有2.23kb
简单易用
不足:
边框弧度和线条的粗细不能调节(如果需要请参考jquery.corner插件)
高度和字符大小配合的不是很好,有时字符会被遮住一半
测试通过ie6、ff、opera、safari、chrome
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product