封装jquery插件
最近要到使用别的jquery插件,但部分功能并不能满足,为满足功能,只能对插件进行修改来满足,要修改插件,先要了解插件如何封装,
明白了如何封装插件,才能更好修改插件;
如何封装插件?
1、插件封装类型:
①封装对象类;②封装全局函数型;③选择器插件类;
2、关于封装插件的建议
①封装的插件建议为jquery.[插件名].js,避免和其他插件混淆;
②插件开头,尽量加上分号,避免别人的代码不规范引起错误,插件结尾都应该加上分号,避免压缩出错;
③插件应该设置默认参数,增加插件可用性;
例如
;(function($){
//此处编写插件代码
})(jQuery);
此处贴代码:
;(function($){
//1.初始化,拼接html
//2.为元素添加事件
$.fn.extend({
'pic':function(){
var $this=this;
var vs=$(this).find("li").length;
var html="<div class=\"box\"><ul>";
for (var i = 0; i < vs; i++) {
if(i==0){
html+="<li class=\"active\"><a href=\"javascript:void(0);\" class=\"page\">"+(i*1+1)+"</a></li>";
}else{
html+="<li><a href=\"javascript:void(0);\" class=\"page\">"+(i*1+1)+"</a></li>";
}
};
html+="</ul></div>";
$(this).parent().append(html);
$(".box li").click(function(){
$(this).addClass("active");
$(this).siblings().removeClass("active");
$($this).find("li").eq($(this).text()*1-1).show();
$($this).find("li").eq($(this).text()*1-1).siblings().hide();
});
}
});
})(jQuery);
此代码为一个简单的图片轮播插件,效果图如:



在此附上页面代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>图片显示</title>
<link rel="stylesheet" type="text/css" href="jquery.pictrue.css">
</head>
<body>
<div class="container">
<ul class="picture" id="pc">
<li><img alt="1" src="imgs/03.jpg"></li>
<li><img alt="1" src="imgs/04.jpg"></li>
<li><img alt="1" src="imgs/05.jpg"></li>
</ul>
</div>
</body>
<script type="text/javascript" src="jquery-1.10.2.js"></script>
<script type="text/javascript" src="jquery.picture.js"></script>
<script type="text/javascript">
$(function(){
$("#pc").pic();
});
</script>
</html>
封装jquery插件的更多相关文章
- 封装jQuery插件的步骤
引语:jQuery提供了很多插件,我们在开发的过程使用插件能节省时间简化开发也避免从头开始编写每个组件,单我们除了懂得使用别人已编写好的插件以外,也到懂得如何封装属于我们自己的插件,以下就是封装jQu ...
- 封装jQuery插件实现TAB切换
先上效果图: 直接上代码: index.html <!DOCTYPE html> <html lang="en"> <head> <met ...
- angular封装jquery插件(组件)
http://www.phloxblog.in/jquery-plugin-angular-js-directive-clean-html-approach/#.VaCWL9yUemJ
- jquery插件封装
HTML <!DOCTYPE html> <html> <head> <title></title> <style> .page ...
- 什么?你还不会写JQuery 插件
前言 如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui 内置web项目里了.至于使用jquery好处这里就不再赘述了,用过的都知道.今天我们来讨论 ...
- 写JQuery 插件 什么?你还不会写JQuery 插件
http://www.cnblogs.com/Leo_wl/p/3409083.html 前言 如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui ...
- 写jQuery插件
如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui 内置web项目里了.至于使用jquery好处这里就不再赘述了,用过的都知道.今天我们来讨论下jq ...
- 写JQuery 插件
什么?你还不会写JQuery 插件 前言 如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui 内置web项目里了.至于使用jquery好处这里就不再 ...
- 如何编写JQuery 插件详解
转载自:http://blog.sina.com.cn/s/blog_6154bf970101jam7.html 如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jq ...
随机推荐
- Eclipse中SVN分支与合并
一.创建分支 Eclipse中利用svn插件创建分支,如下图 分支创建完毕,查看svn资源库中可以看到,分支信息: 二.分支合并主干 1.切换到分支,如图 切换: 2.修改分支信息 在pojo中新增T ...
- CSS 的伪元素是什么?
CSS伪元素是用来添加一些选择器的特殊效果.用于:向某个选择器中的文字的首行. ㈠语法 ①伪元素的语法: selector:pseudo-element {property:value;} ②CSS类 ...
- BZOJ 3784: 树上的路径 点分治+二分+set
很容易想出二分这个思路,但是要想办法去掉一个 $log$. 没错,空间换时间. 双指针的部分错了好几次~ Code: #include <set> #include <queue&g ...
- hdu 1081 dp问题:最大子矩阵和
题目链接 题意:给你一个n*n矩阵,求这个矩阵的最大子矩阵和 #include<iostream> #include<cstdio> #include<string.h& ...
- git branch查看不到分支的名字解决办法
git branch查看不到分支的名字解决办法 <!-- 1. 先初始化 --> git init; <!-- 2. 接着创建瑶瑶的专属分支 --> git checkout ...
- vue中使用iconfont和在旧有的iconfont中添加新的图标
todo 使用参考:https://blog.csdn.net/qq_34802010/article/details/81451278 大体步骤是正确的,具体可参考官方文档和下载下来的代码中的dem ...
- [CSP-S模拟测试]:笨小猴(随机化)
题目传送门(内部题118) 输入格式 输入第一行是一个整数$n$,意义如以上所示. 接下来有$2n+1$行,每行为两个正整数,第$i$行的两个正整数分别代表$A_i$和$B_i$. 输出格式 如果无法 ...
- python环境下安装virtualenv,virtualenvwrapper
在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题: 亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难. 此时,我们需要对于不同的工程使用 ...
- 20175215 2018-2019-2 第三周java课程学习总结
第三周 一.使用JDB调试java代码(主要内容为断点) 以下文字内容转自使用JDB调试java程序,图片则为自己的截图 我们提倡在Linux命令行下学习Java编程.学习时在Ubuntu Bash中 ...
- js对数组分组处理
一.js数组分组 1.js对数据分组类似group by 源码如下: <!DOCTYPE html> <html lang="en"> <head&g ...