超级好用的jQuery圆角插件 Corner速成


Posted in Javascript onAugust 31, 2014

jQuery Corner是一款jQuery的插件,最初由Dave Methvin开发,但后在Malsup同志的协助下,进行了一些重要的改进。现在项目放在github上,当然为了方便,本文会以附件的形式提供该插件,但要想得到最新版,请到项目的github上拿。
之所以会像变魔术一样地展现圆角及其他样式,是由于该插件为目标元素增加了一些小条块,这些小条块为背景色,所以人眼看上去出现了圆角而已,其实就是小东西遮盖了本来的直角。

看来我真不是干魔术师的料,一上来就先把老底给揭了出来。不急,我再补充一下,这个魔术的一些要求:

1、插件专为block元素编写,所以div、p等均适用;而inline的元素则没有那么幸运了,当然也不是说inline根本不能用,只是面对为span增加corner要多费点神。不过,正常人不会和span的圆角较劲吧,把span改成div得了。
2、对于插件新增的border-radius功能,IE<=8全体不支持,除了IE外全体浏览器都支持。娘的,再对自己国度IE6泛滥的现状深切鄙视一下。

OK,介绍完了基本要点。教大家如何使用,这是重点,但很简单。 第一步,构建基本HTML网页和DIV格局,并CSS。

<html>
<head>
<style type="text/css">
div{
width:350px;
height:200px;
background-color: #6af;
}
</style>
</head>
<body>
<div></div>
</body>
</html>

效果如下:

超级好用的jQuery圆角插件 Corner速成

第二步,引入jQuery,和jQuery Corner插件。

<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.corner.js"></script>

<style type="text/css">
div{
width:350px;
height:200px;
background-color: #6af;
}
</style>
</head>
<body>
<div>

</div>
</body>
</html>

此时,还是刚才图的效果,直角没变。
第三步,写js代码,让插件对DIV块起作用。

<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.corner.js"></script>
<script type="text/javascript">
$(function(){
$("div").corner();

});
</script>
<style type="text/css">
div{
width:350px;
height:200px;
background-color: #6af;
}
</style>
</head>
<body>
<div>

</div>
</body>
</html>

此时,圆角就出现了。

超级好用的jQuery圆角插件 Corner速成
至此,小功告成。开始拓展拔高啦。

********************************拓展************************************

一、有多种Corner可选超级好用的jQuery圆角插件 Corner速成

如果你喜欢凹状,那么上图第一排,第三列就是好选择。先认识个单词notch,就是凹槽的意思。只需把一处代码改成:

<script type="text/javascript">
$(function(){
$("div").corner("notch");

});
</script>

 就可以得到这个效果:

超级好用的jQuery圆角插件 Corner速成
这里出现了明显的问题,当前在chrome下只有一个角。在IE下也不正常。滴答滴答,时间经过了近半个小时。我终于发现:
应该给有角的Div加一个父Div,否则我自己做的例子中父级为body,而插件自己还要再增加一个Div,就弄乱套了。所以我修改了最初的代码:

<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.corner.js"></script>
<script type="text/javascript">
$(function(){
$("#mydiv").corner('bevel');
});
</script>
<style type="text/css">
#mydiv{
width:350px;
height:200px;
background-color: #6af;
}
</style>
</head>
<body>
<div>
<div id="mydiv"></div>
</div>
</body>
</html>

 看图吧:

超级好用的jQuery圆角插件 Corner速成 

但有两句话需要大家注意(原文):* Fold lines are not supported in Internet Explorer for pages rendered in quirksmode.* Fold lines are only supported on top corners in Internet Explorer, unless running in IE8 standards-mode. 所以,尽量老老实实地用Corner样式吧。 二、有多种位置可选 可以使用top/bottom/left/right/tl/tr/bl/br设置corner出现的具体位置。看图:超级好用的jQuery圆角插件 Corner速成

比如对于notch而言,想为mydiv的底部增加notch效果,则改写代码如下:

$("#mydiv").corner('bevel bottom');

于是,就只有底部产生notch角了。

超级好用的jQuery圆角插件 Corner速成

三、可自定义角度大小 这功能很好,填写个像素值,就能改变角度。试试吧:

$("#mydiv").corner('bevel bottom 50px');

惊奇的图像如下:

超级好用的jQuery圆角插件 Corner速成
神奇吧,呵呵,还有呢。

四、混搭 就刚才这个例子,把上边两个角变为圆角,而下方仍然不变。看代码:

$("#mydiv").corner('top 30px').corner('bevel bottom 50px');

没错,就是用两句corner。当然你可以完全使用四个corner把各个角都自定义。超级好用的jQuery圆角插件 Corner速成

五、边框装饰 这是亮点,感谢一个名叫Kevin Scholl的家伙提出的这个建议,不过这的确是一个非常棒的提议。看代码吧:

<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.corner.js"></script>
<script type="text/javascript">
$(function(){
$("#mydiv p").corner('round 8px').parent().css('padding','8px').corner('round 14px');
});
</script>
<style type="text/css">
#mydiv{
width:360px;
background-color: #600;
}
#mydiv p{
width:350px;
height:200px;
background-color: #6af;
}
</style>
</head>
<body>
<div>
<div id="mydiv"><P></p></div>
</div>
</body>
</html>

就会这样:

超级好用的jQuery圆角插件 Corner速成 

这图是chrome下的效果,IE下还不一样,夜色很晚了,没时间调试深入发现问题的原因。

写的不少了,其实还有些功能样式没说,剩下的也并不常用,用到的时候大家看英文自学吧。

Javascript 相关文章推荐
js动态添加onclick事件可传参数与不传参数
Jul 29 Javascript
JavaScript调用客户端Java程序的方法
Jul 27 Javascript
JavaScript 七大技巧(一)
Dec 13 Javascript
jquery Deferred 快速解决异步回调的问题
Apr 05 Javascript
vuejs在解析时出现闪烁的原因及防止闪烁的方法
Sep 19 Javascript
js面向对象编程总结
Feb 16 Javascript
浅谈js基础数据类型和引用类型,深浅拷贝问题,以及内存分配问题
Sep 02 Javascript
AngularJS中scope的绑定策略实例分析
Oct 30 Javascript
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
Dec 09 Javascript
Javascript中JSON数据分组优化实践及JS操作JSON总结
Dec 22 Javascript
100行代码实现vue表单校验功能(小白自编)
Nov 19 Javascript
Openlayers绘制地图标注
Sep 28 Javascript
Html5的placeholder属性(IE兼容)实现代码
Aug 30 #Javascript
通过js为元素添加多项样式,浏览器全兼容写法
Aug 30 #Javascript
原生js仿jq判断当前浏览器是否为ie,精确到ie6~8
Aug 30 #Javascript
原生js实现复制对象、扩展对象 类似jquery中的extend()方法
Aug 30 #Javascript
ZeroClipboard插件实现多浏览器复制功能(支持firefox、chrome、ie6)
Aug 30 #Javascript
仿百度联盟对联广告实现代码
Aug 30 #Javascript
jQuery针对各类元素操作基础教程
Aug 29 #Javascript
You might like
YB217、YB235、YB400浅听
2021/03/02 无线电
PHP json_encode() 函数详解及中文乱码问题
2015/11/05 PHP
Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
2016/03/02 PHP
PHP文件类型检查及fileinfo模块安装使用详解
2019/05/09 PHP
PHP实现文件上传操作和封装
2020/03/04 PHP
兼容多浏览器的字幕特效Marquee的通用js类
2008/07/20 Javascript
js每次Title显示不同的名言
2008/09/25 Javascript
jquery mobile实现拨打电话功能的几种方法
2013/08/05 Javascript
基于Jquery和html5的7款个性化地图插件
2015/11/17 Javascript
原生js和jQuery实现淡入淡出轮播效果
2015/12/25 Javascript
JS检测移动端横竖屏的代码
2016/05/30 Javascript
如何解决vue与传统jquery插件冲突
2017/03/20 Javascript
Vue中props的使用详解
2018/06/15 Javascript
vue-router重定向不刷新问题的解决
2018/06/25 Javascript
解决Vue 项目打包后favicon无法正常显示的问题
2018/09/01 Javascript
详解JavaScript的数据类型以及数据类型的转换
2019/04/20 Javascript
微信小程序点击保存图片到本机功能
2019/12/13 Javascript
Python中使用haystack实现django全文检索搜索引擎功能
2017/08/26 Python
Python学习之用pygal画世界地图实例
2017/12/07 Python
Python中enumerate()函数编写更Pythonic的循环
2018/03/06 Python
python ChainMap 合并字典的实现步骤
2019/06/11 Python
浅谈tensorflow中张量的提取值和赋值
2020/01/19 Python
如何用Matlab和Python读取Netcdf文件
2021/02/19 Python
使用html5新特性轻松监听任何App自带返回键的示例
2018/03/13 HTML / CSS
乐高积木玩具美国官网:LEGO Shop US
2016/09/16 全球购物
viagogo意大利票务平台:演唱会、体育比赛、戏剧门票
2018/01/26 全球购物
华为智利官方商店:Huawei Chile
2020/05/09 全球购物
党员廉洁自律承诺书
2014/05/26 职场文书
竞选班干部演讲稿400字
2014/08/20 职场文书
个人授权委托书格式
2014/08/30 职场文书
2014坚持党风廉政建设思想汇报
2014/09/18 职场文书
2014年妇幼卫生工作总结
2014/12/09 职场文书
小学班主任工作总结2015
2015/04/07 职场文书
2016年心理学教育培训学习心得体会
2016/01/12 职场文书
意外事故赔偿协议书
2016/03/22 职场文书
PostgreSQL自动更新时间戳实例代码
2021/11/27 PostgreSQL