http://www.imooc.com/learn/99  阿当大话西游之WEB组件  2016-4-19

jquery插件开发:  2016-3-1

http://www.cnblogs.com/Wayou/p/jquery_plugin_tutorial.html  讲解

http://isux.tencent.com/half-package-web-components-for-design.html  面向设计的半封装web组件开发  2016-4-6

这是个最简单的:   (方法调用模式)

<script src="http://cdn.bootcss.com/jquery/1.12.1/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
var WG={
prov:11,
city:234,
test1:function(){
alert(this.city);
}
}
WG.test1();
</script>

多级类:    2016-3-17

这是类似json串的写法。 都是“名——值”的对应关系。 值可以是属性、方法,还可以是对象、数组————只要你愿意,把什么都可以塞进去

<script src="http://cdn.bootcss.com/jquery/1.12.1/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
var WG={
city:110,
test1:function(){
alert(this.city);
},
base:{
city:110101,
test1:function(){
alert(this.city);
},
test2:function(){
alert(WG.city);
alert(WG.arr[2]);
}
},
arr:[555,444,333,222,111]
}
//-----------------------------
$("#button1").click(function(){
WG.test1();
});
$("#button2").click(function(){
WG.base.test1();
});
$("#test2").click(function(){
WG.base.test2();
}); });
</script>
<input type="button" value="一级" id="button1">
<input type="button" value="二级" id="button2">
<input type="button" value="test2" id="test2">

jQuery.fn.extend(object) ; 给jQuery对象添加方法。

jQuery.fn = jQuery.prototype = { }

jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法。

// 2016-3-1 17:00

$(function(){

/*
插件:弹窗
调用方式:
//$('.js_design_pop').popLayer({timeout:223});//延时关闭
$('.js_design_pop').popLayer(); */
var popLayer = function (target, options) {
this.options = null;
this.target = null;
this.timeout = null;
this.init(target, options);
}
popLayer.prototype.init = function (target, options) {
this.options = options;
this.target = target;
this.timeout = null; target.fadeIn();
if(options) {
if (options.timeout !== undefined ) {
if(options.timeout > 0){
console.log(options.timeout); target.timer = setTimeout(function(){
target.hide();
$('.popmask').hide();
},options.timeout);
}
}
}
//创建遮罩层
var $mask = $('<div class="popmask"></div>');
if($('.popmask').length === 0){
$('body').append($mask);
}
$('.popmask').show(); //弹出层居中
var target = this.target;
target.css({
marginTop : -1 * (target.height() / 2),
marginLeft : -1 * (target.width() / 2)
}); //右上角关闭按钮
this.target.find('.close').click(function(){
$(this).parents('.poplayer').hide();
$('.popmask').hide();
});
//按ESC关闭所有弹层
$(document).keydown(function(ev){
if(ev.keyCode==27){
$('.poplayer').hide();
$('.popmask').hide();
}
});
/*
//弹出层拖拽
var target=this.target;
var canMove = false,Rx, Ry;
target.mousedown(function (event) {
Rx = event.pageX - (parseInt(target.css("left")) || 0);
Ry = event.pageY - (parseInt(target.css("top")) || 0);
target.css("position", "fixed").css('cursor', 'move');
canMove = true;
}).mouseup(function () {
canMove = false;
target.css('cursor', 'auto');
});
$(document).mousemove(function (event) {
if (canMove) { target.css({ top: event.pageY - Ry, left: event.pageX - Rx }); }
});*/ }
//关闭弹出层
popLayer.prototype.close = function () {
this.target.hide();
$('.popmask').hide();
} /*
//示例
//var a = new popLayer($('.js_collect_pop'),{timeout:2000});//延时关闭 var a = new popLayer($('.js_collect_pop'));
//var b = new popLayer($('.js_design_pop'));
//a.close();
 });

..

...

代码: jquery 插件开发(自用插件)的更多相关文章

  1. jQuery插件开发——全屏切换插件

    这个插件包含三个部分:HTML结构.CSS代码和JS代码. HTML结构是固定的,结构如下: <!--全屏滚动--> <div class="fullpage-contai ...

  2. jQuery插件开发,jquery插件

    关于jQuery插件的开发自己也做了少许研究,自己也写过多个插件,在自己的团队了也分享过一次关于插件的课.开始的时候整觉的很复杂的代码,现在再次看的时候就清晰了许多.这里我把我自己总结出来的东西分享出 ...

  3. 自己动手开发jQuery插件全面解析 jquery插件开发方法

    jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法.jQuery的全局函数就是属于jQuery命名空间的函数,另一种是对象级 ...

  4. 基于jquery下拉列表树插件代码

    分享一款基于jquery下拉列表树插件代码.这是一款实用的jquery 树形下拉框 下拉树代码下载.效果图如下: 在线预览   源码下载 实现的代码. html代码: <table width= ...

  5. JavaScript学习笔记(四)——jQuery插件开发与发布

    jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...

  6. JavaScript学习总结(四)——jQuery插件开发与发布

    jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...

  7. jQuery插件开发精品教程,让你的jQuery提升一个台阶

    要说jQuery 最成功的地方,我认为是它的可扩展性吸引了众多开发者为其开发插件,从而建立起了一个生态系统.这好比大公司们争相做平台一样,得平台者得天下.苹果,微软,谷歌等巨头,都有各自的平台及生态圈 ...

  8. jquery插件开发

    jQuery是一个封装的很好的类,比如我们用语句$("#btn1") 会生成一个 jQuery类的实例. 一.jQuery插件开发注意要点 1.使用闭包,避免全局依赖,避免第三方破 ...

  9. jQuery插件开发(溢出滚动)

    声明:此程序仅针对手机端,简单的封装一个插件,意在记载插件的开发过程,如有错误及不足之处,还望即时指出. 移动开发的时候,我们经常会遇到滑动事件,众所周知手机端滑动主要依靠touch事件.最近接连遇到 ...

随机推荐

  1. 将SD卡的音频设置为手机铃声后删除,手机铃声没有恢复到默认的问题

    1. Android7.0,将存储卡中MP3设置为铃声,删除该MP3后,settings中的铃声没有变化,来电铃声也没有变化. 原因:android7.0的新特性 google 默认如此设计,在选择铃 ...

  2. Shell 变量替换及测试

    声明:$ 后面跟linux可执行命令 一.变量替换                   语法                      说明 ${变量名#匹配规则} 从变量的开头进行规则匹配,将符合最 ...

  3. 清除微信小程序的缓存

    小程序会在本地存储数据,当服务器数据更新后,通常在小程序上显示的还是旧的数据,点击右上角的关闭按钮,再次打开小程序同样没有更新. 怎样才能完全清除小程序的缓存数据? 删除小程序的方法是: 1.第一步: ...

  4. 剑指Offer 49. 把字符串转换成整数 (字符串)

    题目描述 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一 ...

  5. shell脚本监测DNS链接状态给传给zabbix值

    #!/bin/sh time_out=0 querygt3s=0 i=1 while [[ $i -le 15 ]] do i=`expr $i + 1` sleep 2 while read lin ...

  6. C# 日志记录分级功能使用 按照日期,大小,或是单文件存储

    本文将使用一个Nuget的一个组件库来实现一个简单强大的日志记录功能,包采用线程安全实现,所有的记录在后台完成,即使您在前台调用100万次方法,耗时也不过1000ms(具体时间依照电脑性能决定),支持 ...

  7. 深入理解Java中的同步静态方法和synchronized(class)代码块的类锁

    一.回顾学习内容 在前面几篇博客中我我们已经理解了synchronized对象锁.对象锁的重入.synchronized方法块.synchronized非本对象的代码块, 链接:https://www ...

  8. WEBBASE篇: 第七篇, JavaScript知识1

    JavaScript 1 一.JavaScript 概述什么是JavaScript: JavaScript 简称 JS,是一种专门运行于JS解释器/引擎中的解释型脚本语言JS发展史: 1.1992年N ...

  9. less的入门教程

    CSS的短板 作为前端学习者的我们 或多或少都要学些 CSS ,它作为前端开发的三大基石之一,时刻引领着 Web 的发展潮向. 而 CSS 作为一门标记性语言,可能 给初学者第一印象 就是简单易懂,毫 ...

  10. Struts2-052 RCE CVE-2017-9805

    从struts2的官网下载最后受影响的版本struts-2.5.12,地址: http://archive.apache.org/dist/struts/2.5.12/struts-2.5.12-ap ...