Kevin Cheng's Yard
电脑是我的老婆,编程是我的灵魂,代码是我的语言,按键是我在歌唱。
随笔- 54  文章- 0  评论- 249 
博客园  首页  新随笔  联系  管理  订阅 订阅

我写的第一个jquery插件:jquery.photoFrame(version 0.2)

先看效果

 

introduce
    jQuery photoframe plugin
    A useful plugin to beautify image or text by wrapping target with image frame
    Copyright (c) 2010 surfsky
    Free to use but don't modify this notation
    @author: surfsky.cnblogs.com
    @version: 0.2
    @lastupdate:  2010-06-30
    jquery.photoFrame是很方便的一个相框插件,原理也很简单,将选定对象用九宫格table包裹,再设置其边框的背景图片即可。以上三种样式都是用photoframe实现的,我会继续丰富其样式,目标是拿来即用,简化页面代码。此代码可以任意使用,但转载请注明出处:http://surfsky.cnblogs.com/


what's new
    v0.2 支持skin,同一页面支持多种样式同时存在
         新增样式 deepShadow

         修改内嵌image在ie6下会留白的bug
    v0.1 新建,实现基本功能

usage
    <link type="text/css" rel="stylesheet" href="shadow/style.css" />
    <link type="text/css" rel="stylesheet" href="deepshadow/style.css" />
    <link type="text/css" rel="stylesheet" href="stamp/style.css" />
    <link type="text/css" rel="stylesheet" href="topbanner/style.css" />
    <script type="text/javascript" src="jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="jquery.photoFrame.js"></script>
    <script type="text/javascript">
      $(function(){
        $("#target1").photoFrame();
        $("#target2").photoFrame({skin:'shadow', direction:'bottomRight'});
        $("#target3").photoFrame({skin:'deepshadow', direction:'bottomRight'});
        $("#target4").photoFrame({skin:'stamp', direction:'all'});
        $("#target5").photoFrame({skin:'topbanner', direction:'top'});
      });
    </script>
    <div id="target1">
      <img src="images/1.jpg" />
    </div>
    <div id="target2">
      <img src="images/2.jpg" />
    </div>
    <div id="target3">
      <img src="images/3.jpg" />
    </div>
    <div id="target4">
      <img src="images/4.jpg" />
    </div>
    <div id="target5">
      <h2>this is title</h2>
      thfjsjfkljslfjsjfldsjflkjdslkfjdslkjflskjfljslfjslfkjsfkjdslfjsdljklsjfjdslkfjsdlkfjslkjflkdsjflkdsjfkdsjlkjfslkds
    </div>

 

parameters
    skin(皮肤名称):
        'shadow', 'deepshadow', 'stamp', 'topbanner'
    direction(画框方向):
        'top', 'bottom', 'left', 'right'
        'topLeft', 'topRight', 'bottomLeft', 'bottomRight'


skin
    shadow: 阴影效果
    deepShadow: 加深阴影效果
    topBanner: 顶部banner效果
    stamp: 邮票效果
    cloud: 云朵包围效果(未实现)
    teal: 撕纸效果(未实现)

extense skin (扩展样式)
    拷贝skin目录,拷贝图片并修改css就可以了
    .myskin .tl {background:url(tl.gif) no-repeat; width:5px; height:5px;}
    .myskin .t  {background:url(t.gif)  repeat-x;  height:5px;}
    .myskin .tr {background:url(tr.gif) no-repeat; width:5px; height:5px;}
    .myskin .l  {background:url(l.gif)  repeat-y;  width:5px;}
    .myskin .r  {background:url(r.gif)  repeat-y;  width:5px;}
    .myskin .b  {background:url(b.gif)  repeat-x;  height:5px;}
    .myskin .bl {background:url(bl.gif) no-repeat; width:5px; height:5px;}
    .myskin .br {background:url(br.gif) no-repeat; width:5px; height:5px;}
    .myskin .m  {border:solid black 1px; padding-bottom:-5px; margin-bottom:-10px;}
    .myskin img {display:block;}

 

下载:

    0.1 /Files/surfsky/jquery.photoFrame.rar
    0.2 /Files/surfsky/jquery.photoFrame.0.2.rar

转载请注明出处:http://surfsky.cnblogs.com 

绿色通道:好文要顶关注我收藏该文与我联系
posted @ 2010-06-28 12:49 Kevin Cheng 阅读(1965) 评论(5) 编辑 收藏
发表评论
1868891
 回复 引用 查看   
#1楼2010-06-28 13:56 | 漫步蓝色星球      
呵呵 顶下下!
 回复 引用 查看   
#2楼2010-06-28 15:27 | 小牛大牛      
我也想学习jquery插件的写法,之前写了点,遇到难点了,就卡住了,楼主可以考虑写一个系列,专门写怎么开发插件。呵呵
 回复 引用 查看   
#3楼[楼主]2010-06-28 16:25 | Kevin Cheng      
@小牛大牛
有了jquery的基础,写jquery插件不会太难:
(1)先用jquery在html页面上实现,尽量用class,不要写死图片
(2)再封装成plugin
(3)jquery.plugin的基本结构(闭包加匿名函数):
(function($) {
// 默认参数
defaults = {
direction : 'all',
wrapperClass : 'photoframe'
};

// 我们的插件
$.fn.photoFrame = function(settings){
// 将外部参数和我们的默认参数融合
var options = $.extend({}, defaults, settings);
this.each(function(){
// 这里面就是主要的逻辑了
});
}
})(jQuery);

至于教程,这篇文章写得很好《jQuery 插件开发其实很简单》
http://www.cnblogs.com/fromearth/archive/2009/07/08/1519054.html

我就偷偷懒,不班门弄斧了:)我估计自己也没有这个耐心去写这一系列的教程:P。其实呢,我认为,jquery更高层次的进阶,我们需要的是论坛或者qq群这样可以交流代码的地方,而不是长篇的系列文章,毕竟jquery上手很容易,资源也相当多。

此外,学习一种新东西,我都是花一两天快速看完并做好笔记,以后编程时我看自己整理的笔记就可以了,有空我会把笔记传上去,希望对大家有用。

 回复 引用 查看   
#4楼2010-07-06 12:07 | 指柔      
楼主很强大!!!
 回复 引用 查看   
#5楼[楼主]2010-07-11 11:44 | Kevin Cheng      
@指柔
别这么说嘛,我都不好意思了:)

嗯,新发布0.2版本,支持skin,并新增样式deepShadow

注册用户登录后才能发表评论,请 登录 或 注册,返回博客园首页。
首页博问闪存新闻园子招聘知识库
最新IT新闻:
· 谷歌将出售Clearwire股份 不到收购价1/10
· 为什么Google比苹果更令微软恐惧?
· 思科拟2.71亿美元收购私有公司Lightwire
· 社交商务公司Bazaarvoice将于2月24日进行IPO
· 戴尔收购备份软件公司AppAssure
» 更多新闻...
最新知识库文章:
· 领域模型管理与AOP
· 编程的艺术:漂亮的代码和漂亮的软件
· GIT分支管理是一门艺术
· 编程:是一门艺术
· 编程是一门艺术吗?
» 更多知识库文章...

China-pub 2011秋季教材巡展
China-Pub 计算机绝版图书按需印刷服务
Copyright ©2012 Kevin Cheng
精于斯,乐于斯。
昵称:Kevin Cheng
园龄:6年3个月
粉丝:20
关注:1
<2010年6月>
日一二三四五六
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

搜索

 
 

常用链接

  • 我的随笔
  • 我的评论
  • 我的参与
  • 最新评论
  • 我的标签
  • 更多链接

我的标签

  • Rss RssItem RssChannel XmlSerializer(1)
  • MVC ASP.NET Razor(1)
  • MVC Razor ASP.NET(1)
  • MVC ASP.NET(1)
  • javascript oo 类 对象 命名空间(1)
  • ASP.NET MVC SKIN 换肤(1)
  • Silverlight WPF(1)

随笔分类

  • 日子(3)
  • .NET(14)
  • .NET组件控件(15)
  • IT新闻(1)
  • 报表开发(1)
  • 代码生成器(1)
  • 工作流引擎
  • 建模与快速开发 (5)
  • 数据库 (4)
  • 杂项(7)

随笔档案

  • 2010年12月 (1)
  • 2010年11月 (1)
  • 2010年10月 (6)
  • 2010年8月 (7)
  • 2010年6月 (3)
  • 2009年12月 (1)
  • 2009年11月 (2)
  • 2009年5月 (2)
  • 2008年12月 (1)
  • 2008年8月 (1)
  • 2008年7月 (1)
  • 2007年12月 (1)
  • 2007年6月 (1)
  • 2007年5月 (1)
  • 2007年3月 (2)
  • 2007年1月 (1)
  • 2006年12月 (1)
  • 2006年11月 (1)
  • 2006年10月 (1)
  • 2006年9月 (1)
  • 2006年8月 (3)
  • 2006年6月 (5)
  • 2006年3月 (2)
  • 2006年2月 (1)
  • 2005年12月 (7)

文章分类

  • .NET(1)

相册

  • 回忆

Blogs

  • DbToCode
  • RapidTier
  • SmartPersistenceLayer
  • 灵感之源

NET WebSite

  • ASP.NET
  • CodeProject
  • CSDN
  • GoDotNet
  • MSDN
  • SourceForge

Special

  • icsharpcode.com
  • Open License
  • Python

最新评论

阅读排行榜

评论排行榜

推荐排行榜