如何写一个jquery插件
本文总结整理一下如何写一个jquery插件?虽然现今各种mvvm框架异常火爆,但是jquery这个陪伴我们成长,给我们带来很多帮助的优秀的库不应该被我们抛弃,写此文章,作为对以往欠下的笔记的补充,以及对jquery的重温。
写jquery插件有三种方法:
1.使用$.extend()来拓展jquery;
2.使用$.fn来给jquery添加新的方法;
3.使用$.widget()应用jquery UI的部件工厂方式创建。
方法一:
$.extend({
'sayHello':function(msg){
console.log(msg);
},
$(function(){
$.sayHello('Hello jQuery!!!');//Hello jQuery!!!
});
});
方法二:
//方法二(基本):jQuery.fn = jQuery.prototype = {
//}
$.fn.myplugin = function(){
this.css('background','red');
}
//方法二(传参):
$.fn.myPlugin = function(opt){
var defaults = {
'bgc':'red',
'fontSize':'12px'
};
var settings = $.extend({},defaults,opt);
debugger;
this.css({
'background':settings.bgc,
'fontSize':settings.fontSize
});
}
//继续升级方法二,改造成面向对象的形式来定义插件,提升插件的可读性可维护性,
;(function($,window,document,undefined){
var Beautifier = function(ele,opts){
this.$element = $(ele);
this.defaults = {
'bgc':'red',
'fontSize':'12px'
}
this.settings = $.extend({},this.defaults,opts);
};
Beautifier.prototype = {
'construct':Beautifier,
'bueatify':function(){
return this.$element.css({
'background':this.settings.bgc,
'fontSize':this.settings.fontSize
})
}
}
$.fn.myplugin2 = function(opts){
var bt = new Beautifier(this,opts);
return bt.bueatify();
}
})(jQuery,window,document);
//调用
$(function(){
$("a").myplugin2({
'bgc':'red',
'fontSize':'50px'
});
});
执行结果:
方法三:这个方法用的较少,暂时不做研究讲解。
如何写一个jquery插件的更多相关文章
- 自己写一个 jQuery 插件
我知道这一天终将会到来,现在,它来了. 需求 开发 SharePoint 的 CSOM 应用时,经常需要在网页上输出一些信息. 这种需求和 alert 的弹窗.F12 的断点查看信息的场景是不一样的: ...
- 如何使用jQuery写一个jQuery插件
jQuery插件其实是前端框架的思维,构成一个框架,个人认为必须满足以下几个基础条件:1. 可重用,2. 兼容性,3. 维护方便,虽说现在有很多比较成熟的前端框架,但是也有部分存在配置麻烦,学习成本大 ...
- Jquery 类似新浪微博,鼠标移到头像,用浮动窗口显示用户信息,已做成一个jquery插件
请注意!!!!! 该插件demo PHP 的 demo下载 C#.NET的demo下载 需要如下图, 1.鼠标移动到头像DIV时,Ajax获取数据,并让浮动DIV显示出来. 2.鼠标可以移动到上面浮 ...
- 你真的需要一个jQuery插件吗
jQuery的插件提供了一个很好的方法,节省了时间和简化了开发,避免程序员从头开始编写每个组件.但是,插件也将一个不稳定因素引入代码中.一个好的插件节省了无数的开发时间,一个质量不好的插件会导致修复错 ...
- 做了一个jquery插件,使表格的标题列可左右拉伸
示例下载 插件名称命名为:jquery.tableresize.js,代码如下: /* Writen by mlcactus, 2014-11-24 这是我封装的一个jquery插件,能够使table ...
- 为PhoneGap写一个android插件
为PhoneGap写一个android插件,要怎么做? 其实这句话应该反过来说,为android写一个PhoneGap插件,要怎么做? 这里以最简单的Hello World!为例,做个说明: 1.第一 ...
- 玉渊潭赏樱花有感:从无到有写一个jQuery开源插件
“玉渊潭公园樱花节”是每年樱花绽放时,都会在玉渊潭公园樱举办樱花节,游客前往玉渊潭公园,可以欣赏到20个品种2000株樱花.2016玉渊潭樱花节时间:3月中旬-4月中旬观赏最佳,2016年3月23日开 ...
- 自己在项目中写的一个Jquery插件和Jquery tab 功能
后台查询结果 PDFSearchResult实体类: [DataContract(Name = "PDFSearchResult")] public class PDFSearch ...
- 开发一个jQuery插件——多级联动菜单
引言 开发中,有好多地方用到联动菜单,以前每次遇到联动菜单的时候都去重新写,代码重用率很低,前几天又遇到联动菜单的问题,总结了下,发现可以开发一个联动菜单的功能,以后想用的时候就方便多了.项目中每个页 ...
随机推荐
- 关于DreamWeaver CS6.0 + PhoneGap 之移动开发环境搭建
原博客地址为:http://blog.csdn.net/alovebtoc/article/details/9315437 HTML5已经逆袭了移动开发,近期有幸布置PhoneGap的环境搭载,其实 ...
- [2012-05-31]awk记录分割符RS
$awk -v RS= '{print $1}' test RS 默认值为\n 换行符. 此处设置RS= 等效于 RS="" 代表一个空行 (若理解有误请指正,在以下例子中符合) ...
- webstom破解
链接:http://pan.baidu.com/s/1dFOpj1n 密码:rsfs
- jmeter 实现登录一次,多次操作登录后的某一个功能
- 向GitHub 提交你的源代码
之前的这篇文章「Git入门篇」相信大家都已经对 Git 的基本操作熟悉了,但是这篇文章只介绍了对本地 Git 仓库的基本操作,今天我就来介绍下如何跟远程仓库一起协作,教你们向 GitHub 上提交你们 ...
- 关于时间对象Date()
今天使用XCUI开发过程中发现另一个诡异的问题,就是年月日初始化之后默认时分秒的问题. 问题发生在重构交互日志页面的时候,原来的老页面是这样的: 进入了交互日志页面之后,默认会初始化时间为今天的凌晨到 ...
- 第二次项目冲刺(Beta阶段)5.24
1.提供当天站立式会议照片一张 会议内容: ①检查前一天的任务情况. ②制定新一轮的任务计划. 2.每个人的工作 (1)工作安排 队员 今日进展 明日安排 王婧 #63Web输出以文件名为标题 #63 ...
- JAVA基础第四组(5道题)
16.[程序16] 题目:输出9*9口诀. 1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列. package com. ...
- 团队作业——Alpha冲刺之事后诸葛亮
小组成员: 武健男:201421123091 林俊鹏:201421123076 何跃斌:201421123082 陈鑫龙:201421123078 潘益靖:201421123086 黄睿:201421 ...
- 201521123078 《Java程序设计》第6周学习总结
1. 本周学习总结 2. 书面作业 1.clone方法 1.1 Object对象中的clone方法是被protected修饰,在自定义的类中覆盖clone方法时需要注意什么? 1.子类要实现Clone ...