jquery编写插件基本写法

1.创建一个html文件和js文件,并将js文件连接到HTML文件了,还有将jquery包导入html文件中

<script type="text/javascript" src="js/jquery-1.11.0.js" ></script>
		<script type="text/javascript" src="js/center-1.2.js" ></script>
		<style>
			*{margin: 0;}
		</style>
	</head>
	<body>
		<div id="box">
			
		</div>
		
		<script>
			$("#box").center({
				
			})
		</script>

2.通过jquery中的$.fn对外暴露方法,要注意开头一定要加分号“;”

;(function($){
	$.fn.center = function(options){
        })

 

3.利用$.extend合并默认参数(defaults)和形参(options),在extend里后面的形参改变前面的参数,如果没有后面的形参就直接继承

;(function($){
	//对象级别
	$.fn.center = function(options){
		var defaults = {
			"position":"absolute",
			"background":"red",
			"width":100,
			"height":100
		}
		
		var options = $.extend(defaults,options);


        })

4.实现逻辑功能,这里的this是指的是jq的盒子

;(function($){
	//对象级别
	$.fn.center = function(options){
		var defaults = {
			"position":"absolute",
			"background":"red",
			"width":100,
			"height":100
		}
		
		var options = $.extend(defaults,options);
		this.each(function(){
			//功能实现逻辑
			var _this = $(this)
            })

5.实现盒子的水平垂直居中的公式

var _vH = ($(window).height()-options.height)/2
var _vW = ($(window).width()-options.width)/2

6.对象级别开发插件模板

;(function($){
	//对象级别
	$.fn.center = function(options){
		var defaults = {
			"position":"absolute",
			"background":"red",
			"width":100,
			"height":100
		}
		
		var options = $.extend(defaults,options);
		this.each(function(){
			//功能实现逻辑
			var _this = $(this)
			var _vH = ($(window).height()-options.height)/2
			var _vW = ($(window).width()-options.width)/2
			_this.css({
				"background":options.background,
				"position":options.position,
				"width":options.width,
				"height":options.height,
				"left":_vW,
				"top":_vH
			})
			
		})
		return this

最后一点要return this实现连缀。这里的this是jq的this对象

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值