jquery插件制作 提示框插件实现代码


Posted in Javascript onAugust 17, 2012

我们首先来介绍自定义选择器的开发,他的代码结构如下:

(function ($) { 
$.expr[':'].customselector = function (object,index,properties,list) { 
//code 
}; 
})(jQuery);

调用时候的写法:
$(a:customselector)

现在我们先解释下函数中所使用到的各个参数。

object:当前dom元素的引用,而不是jquery对象。需要强调的一点,dom元素和jquery对象完全不是一回事,a标签代表的是dom元素,$('a')代表的是jquery对象,他本身是个js对象。不清楚的朋友情google相关知识。

index:下标为0的数组索引。

properties:选择器元数据数组。

list:dom元素数组。

这些参数中,第一个参数是必须的,其他几个参数是可选的。

选择器函数通过bool值确定是否包含当前元素,true包含,false不包含。

这里我们实现一个a标签的选择器,只选择指向外部链接的a标签,代码如下:

(function ($) { 
$.expr[':'].external = function (object) { 
if ($(object).is('a')) { 
return object.hostname != location.hostname; 
} 
}; 
})(jQuery);

现在我们开始实现提示框插件的开发,开发过程就不多讲了,主要是代码实现,里面有备注说明。
(function ($) {//更新坐标位置 
$.fn.updatePosition = function (event) { 
return this.each(function () { 
$(this).css({ 
left: event.pageX + 20, 
top: event.pageY + 5 
}); 
}); 
} 
//提示框插件,将显示a标签title属性的内容 
$.fn.tooltip = function () { 
return this.each(function () { 
//获取当前对象 
var self = $(this); 
//获取title属性值 
var title = self.attr('title'); 
//判断当前对象是否是a标签,title属性有无内容 
if (self.is('a') && title != '') { 
self.removeAttr('title') 
.hover(function (event) { 
//鼠标在目标对象上 
$('<div id="tooltip"></div>').appendTo('body') 
.text(title) 
.hide() 
.updatePosition(event) 
.fadeIn(400); 
}, function () { 
//鼠标移出 
$('#tooltip').remove(); 
}).mousemove(function (event) { 
//鼠标移动 
$('#tooltip').updatePosition(event); 
}); 
} 
}); 
}; 
})(jQuery);

希望本片文章对你有用,想看完整效果的朋友可以去下demo,下载地址:jQuery.plugin.tooltip
Javascript 相关文章推荐
JavaScript实际应用:innerHTMl和确认提示的使用
Jun 22 Javascript
几款极品的javascript压缩混淆工具
May 16 Javascript
jquery last-child 列表最后一项的样式
Jan 22 Javascript
为radio类型的INPUT添加客户端脚本(附加实现JS来禁用onClick事件思路代码)
Nov 11 Javascript
jquery 漂亮的删除确认和提交无刷新删除示例
Nov 13 Javascript
jQuery简单实现网页选项卡特效
Nov 24 Javascript
angularJS 中$attrs方法使用指南
Feb 09 Javascript
javascript委托(Delegate)blur和focus用法实例分析
May 26 Javascript
浅谈Javascript中Object与Function对象
Sep 26 Javascript
JavaScript仿商城实现图片广告轮播实例代码
Feb 06 Javascript
JS基于构造函数实现的菜单滑动显隐效果【测试可用】
Jun 21 Javascript
jquery.multiselect多选下拉框实现代码
Nov 11 Javascript
jquery插件制作 自增长输入框实现代码
Aug 17 #jQuery
jquery插件制作 表单验证实现代码
Aug 17 #Javascript
jquery插件制作 图片走廊 gallery
Aug 17 #Javascript
jquery插件制作教程 txtHover
Aug 17 #Javascript
IFrame跨域高度自适应实现代码
Aug 16 #Javascript
JSONP 跨域共享信息
Aug 16 #Javascript
js自执行函数的几种不同写法的比较
Aug 16 #Javascript
You might like
PHP对MongoDB[NoSQL]数据库的操作
2013/03/01 PHP
php操作memcache缓存方法分享
2015/06/03 PHP
php注册和登录界面的实现案例(推荐)
2016/10/24 PHP
PHP7匿名类的用法示例
2019/04/05 PHP
NodeJS 模块开发及发布详解分享
2012/03/07 NodeJs
jQuery中(function(){})()执行顺序的理解
2013/03/05 Javascript
javascript利用apply和arguments复用方法
2013/11/25 Javascript
JavaScript在for循环中绑定事件解决事件参数不同的情况
2014/01/20 Javascript
JQuery1.8 判断元素是否绑定事件的方法
2014/07/10 Javascript
javascript实现微信分享
2014/12/23 Javascript
Angularjs---项目搭建图文教程
2016/07/08 Javascript
JS实现间歇滚动的运动效果实例
2016/12/22 Javascript
移动端效果之Swiper详解
2017/10/09 Javascript
js注册时输入合法性验证方法
2017/10/21 Javascript
使用socket.io实现简单聊天室案例
2018/01/02 Javascript
javascript获取图片的top N主色值方法详解
2018/01/26 Javascript
vue使用axios上传文件(FormData)的方法
2019/04/14 Javascript
vue项目中仿element-ui弹框效果的实例代码
2019/04/22 Javascript
微信小程序左滑删除实现代码实例
2019/09/16 Javascript
在vue中通过render函数给子组件设置ref操作
2020/11/17 Vue.js
[59:07]海涛为你详解DOTA2新版本“贤哲秘契”
2014/11/22 DOTA
Windows下Python使用Pandas模块操作Excel文件的教程
2016/05/31 Python
打包发布Python模块的方法详解
2016/09/18 Python
Python爬虫DOTA排行榜爬取实例(分享)
2017/06/13 Python
浅谈Python使用Bottle来提供一个简单的web服务
2017/12/27 Python
Python实现批量压缩图片
2018/01/25 Python
Python检查和同步本地时间(北京时间)的实现方法
2018/12/03 Python
python程序运行进程、使用时间、剩余时间显示功能的实现代码
2019/07/11 Python
python爬取”顶点小说网“《纯阳剑尊》的示例代码
2020/10/16 Python
尼克松手表官网:Nixon手表
2019/03/17 全球购物
ShellScript面试题一则-ShellScript编程
2014/03/05 面试题
护理专业推荐信
2013/11/07 职场文书
2014最新股权信托合同协议书
2014/11/18 职场文书
毕业生学校组织意见
2015/06/04 职场文书
工作简报怎么写
2015/07/21 职场文书
离婚协议书格式范本
2016/03/18 职场文书